我有一个站点(基于 ZEND 框架)并托管在 1and1 服务器上。
1and1 服务器使用 PHP 版本 5.2.17 和 5.4.5。我只需要对几个文件使用 PHP 5.4.5 版。这是因为如果我使用 PHP 5.4.5,我的其他一些文件会显示错误,但使用 PHP 5.2.17 可以正常执行。
在我的 .htaccess 文件中,下面的行是早先编写的以使用 PHP 5.2.17
AddType x-mapp-php5 .php
要使用 PHP 5.4.5,我必须使用下面的行(使用此代码的说明可在 1and1 常见问题页面上找到)
AddHandler x-mapp-php6 .php
常见问题网址:
- http://faq.1and1.com/scripting_languages_supported/php/7.html
- http://faq.1and1.com/scripting_languages_supported/php/6.html
有没有办法只对那些特定文件使用 PHP 5.4.5?
我尝试在 .htaccess 中使用以下行,但它不起作用:
AddType x-mapp-php5 .php
AddHandler x-mapp-php6 FilenameController.php
编辑
我试图编辑 5.2 代码。我正在使用 PEAR 包创建与 PHP 5.2.17 一起工作的 Excel 表,但在 PHP 5.4.5 上显示以下错误
致命错误:无法重新声明 _PEAR_call_destructors()
附录
.htaccess
对文件的这种更改
AddType x-mapp-php5 .php
AddHandler x-mapp-php6 .php6
SetEnv APPLICATION_ENV development
Options -MultiViews
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^FilenameController\.php$ FilenameController.php6 [L]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
</IfModule>
如果我将 FilenameController.php 的文件名更改为 FilenameController.php6 并且当我尝试访问其生成的页面时,会生成 404“找不到页面”错误。