在更新我的服务器以使用PHP版本5.4之后,我的网站遇到了一些困难..我已经通过了很多支持票并浏览了2天的互联网..现在我需要直接询问那些人实际上知道它。
更新php版本后,我开始在我的页面上出现500错误,结果发现我的htaccess文件中的重写规则不再有效。他们在php 5.2版本中完成,但在5.4版本中没有。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# If the request is for a valid directory
RewriteCond %{REQUEST_FILENAME} -d [OR]
# If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f [OR]
# If the request is for a valid link
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^ - [L]
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+website\.php\?id=([^\s&]+) [NC]
RewriteRule ^ %1? [R=302,L]
RewriteRule ^([\w.-]+)/?$ website.php?id=$1 [L,QSA]
RewriteRule ^([\w.-]+)/([\w.-]+)/?$ website.php?id=$1&page=$2 [L,QSA]
</IfModule>
有人可以告诉我我的做法有何不同?我真的很感激。
修改
我从主持人的实时短信中得到了这份副本:
[Thu Jun 26 03:54:07 2014] [error] [client ] malformed header from script. Bad header=<br />: website.php
[Thu Jun 26 03:55:35 2014] [error] [client ] Cannot load the ionCube PHP Loader - it was built with configuration 2.2.0, whereas running engine is API220100525,NTS
[Thu Jun 26 03:55:35 2014] [error] [client ] The Zend Engine API version 220100525 which is installed, is newer.
[Thu Jun 26 03:55:35 2014] [error] [client ] Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer.
[Thu Jun 26 03:55:35 2014] [error] [client ]
答案 0 :(得分:1)
尝试添加此行:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.4.so
到php.ini
答案 1 :(得分:0)
解决方案现已发现
我做出了错误的假设,认为这是由于我的重写规则。问题似乎出在HostGator。如果您在HostGator主持,这将对您有所帮助。所有这一切的原因是因为HostGator宣布将升级服务器以运行PHP 5.4作为标准而不是PHP 5.2。他们没有提到的是他们的服务器结构以及各个站点如何管理他们各自的PHP文件。
我发现通过更改根目录中php.ini
文件的名称(使其无法供服务器使用),系统在主服务器中找到了PHP版本特定的php.ini文件目录。这让我意识到我的根目录中的php.ini文件必须完全更改,因此我创建了一个包含5.4版本的新php.ini
文件。该网站没有变化,因为文件基本相同,但它使我可以再次在cPanel中使用EZConfig。
这是该怎么做:
AddHandler application/x-httpd-php54 .php
添加到您的
.htaccess
档案。File Manager
。php.ini
文件。php.ini
文件保留为备份,请将其重命名为ex。 php_old.ini
。php.ini
的新文件,并插入以下链接中的内容:https://wiki.cac.washington.edu/display/webpub/php.ini+for+PHP+5.4 祝你好运。希望这也会为某人解决,所以他们不必花3天时间自己解决它。