我有一个站点(基于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 faq页面上找到)
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
我尝试在.htaccess中使用下面的行,但它不起作用:
AddType x-mapp-PHP5 .PHP AddHandler x-mapp-PHP6 FilenameController.PHP
编辑
我试着编辑5.2代码.我正在使用PEAR包来创建Excel表格,它可以在PHP 5.2.17中正常工作,但在PHP 5.4.5上显示以下错误
Fatal error: Cannot redeclare _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“找不到页面”错误.