如何通过.htaccess为单个域名设置PHP 5.6版本解决运行报错
你遇到的报错如下:
"Class 'Locale' not found [code: 0] Notice: Trying to access array offset on value of type null8"
这个报错是运行的PHP版本和代码要求不匹配导致的,你需要切换到PHP5.6版本,共享主机不支持后台单站点切换的情况下,可通过以下.htaccess配置实现,你之前的配置未生效是因为使用的Handler标识和主机实际的PHP部署配置不匹配。
可用配置方案
你需要逐次尝试以下不同的配置,每次配置后清除浏览器缓存,再验证PHP版本,注意不要在.htaccess里同时保留多套PHP版本相关配置,你之前写的指向php54的AddType配置需要全部删除,避免冲突:
- 方案1(适配大部分cPanel架构共享主机)
<FilesMatch "\.(php|php5|phtml)$"> AddHandler application/x-httpd-alt-php56 .php AddType application/x-httpd-alt-php56 .php </FilesMatch>
- 方案2(适配FastCGI模式部署的主机)
AddHandler fcgid-script .php FcgidWrapper /usr/local/php56/bin/php-cgi .php
- 方案3(适配suPHP模式部署的主机)
AddHandler x-httpd-php56 .php suPHP_ConfigPath /home/你的主机用户名/你要配置的站点根目录
验证方法
在站点根目录新建phpinfo.php文件,写入以下代码:
<?php phpinfo(); ?>
访问该文件,查看页面顶部的PHP版本号,确认是否切换到5.6即可。如果所有方案都无效,你可以联系主机服务商询问当前服务器支持的PHP5.6对应的Handler标识,替换到上面的配置里即可。
内容的提问来源于stack exchange,提问作者JANE AND STEVE
相关产品推荐
相关产品推荐

