Introduction
While many control panels let you choose a PHP version per domain, some sites require even finer control: setting the PHP version per directory. With Tublat hosting, you can achieve this by customizing .htaccess or using cPanel tools (if enabled). This guide explains how to apply a version override for specific folders, why you might need to do it, and best practices.
Why Set PHP Version per Directory?
-
Mixed code compatibility: If different subfolders host apps requiring distinct PHP versions.
-
Testing environments: Run a development directory on a newer PHP without affecting the live site.
-
Legacy scripts: Some older modules may break under newer PHP — you can isolate them in a directory.
-
Gradual migration: Migrate parts of your site to new PHP while keeping others stable.
Note: Directory-level PHP version overrides may depend on server configuration, and not all hosting plans support it.
Two Methods to Set PHP per Directory
Method 1: Using .htaccess Overrides
This is a common approach when MultiPHP Manager does not support per-directory selection.
-
Locate the target directory
Go in File Manager (under cPanel) or via FTP to the folder for which you want to set a custom PHP version (for example/public_html/app). -
Create or edit
.htaccess
In that directory, open (or create) a file named.htaccess. -
Add PHP handler directives
Insert lines that tell Apache which PHP version to use. For example:This would force PHP 8.2 for that folder. Adjust “lsphp82” to match the handler your server supports (e.g.
lsphp74,lsphp80, etc). -
Save and test
Save the.htaccessfile and visit a.phppage within that directory. You can create aphpinfo()script to confirm the active version. -
Troubleshoot
If the override doesn’t work, it might be disallowed by server configuration. You may see an “Internal Server Error” if the directive is not permitted. Remove or comment it out if so.
Method 2: Via cPanel Per-Directory
Some hosts provide a directory-level override UI in cPanel or plugin modules (if enabled). The process would be:
-
Log in to cPanel.
-
Navigate to the PHP Selector or MultiPHP Manager, and look for a “per directory” or “Scoped PHP” option.
-
Select a directory/subfolder and assign a PHP version to it.
-
Save changes and test.
If Tublat enables this feature in your account, it’s more reliable than .htaccess hacks.
Best Practices & Tips
-
Always backup
.htaccessbefore editing. -
Use absolute names/handlers that your hosting environment supports.
-
Test with
phpinfo()to confirm success. -
Avoid conflicting PHP version statements in parent
.htaccessfiles. -
For directories with heavy traffic or compute, keep PHP version consistent to avoid performance issues.
-
Use the default PHP version in root, and override only specific subfolders that need it.
-
If server returns 500 errors, the override may be disallowed — consult Tublat support.
Common Issues & How to Fix Them
-
Internal Server Error: Remove or comment out the override directive; check server logs.
-
Override not applied: Possibly the host disables
.htaccessoverrides for PHP; you’d need to request the feature. -
Conflicting handlers: Parent
.htaccessor cPanel settings might interfere—remove duplicates. -
Version unsupported: The handler you specified may not exist; check with Tublat which versions are available.
-
Caching delays: Sometimes PHP settings are cached — wait a moment or clear cache.
Why This Matters for Tublat Users
Being able to set the PHP version for individual directories gives you granular control over your sites. You can run newer PHP in modern parts, maintain older scripts in legacy directories, or test updates safely. For Tublat clients, this flexibility means better compatibility, smoother migrations, and safer experimentation — all without needing full access to server configuration.