500内部服务器错误 - register_globals

时间:2012-01-12 15:07:11

标签: php linux cpanel whm

我将网站转移到了具有“Server API = CGI / FastCGI”的新服务器(PHP版本5.3.8),网站工作正常,除了一个页面(public_html / user / index.php)。我收到了错误:

500内部服务器错误

然后,我将Server API更改为“Apache 2.0 Handler”,现在我得到了空白页面。 phpinfo()向我显示register_globals Off

public_html / user /中的.htaccess低于内容

#deny from all

#AddType application/x-httpd-php .html

#AddHandler x-httpd-php .html

#AddHandler x-httpd-php .htm

#AddType image/x-icon .ico 

php_value display_errors On

#php_value register_globals On

php_value error_reporting E_ALL

#E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR

旧服务器正在运行PHP 5.2.8版

有任何建议吗?

4 个答案:

答案 0 :(得分:1)

不推荐使用register_globals并不能解释它是否给出了内部服务器错误,特别是如果它已被注释掉了。

您收到内部服务器错误,因为您尝试设置服务器无法理解或允许的值。与服务器错误一样,apache的错误日志应该为您提供错误的详细信息。

根据经验,我的第一个猜测是运行PHP脚本的(www)用户没有权限设置php_value:s到.htaccess。要设置.htaccess值,您需要在apache配置中具有AllowOverride Options或AllowOverride All权限(“All”包括“Options”)。我的第一件事就是检查一下。 php_value指令需要AllowOverride Options权限。

答案 1 :(得分:0)

register_globals自PHP 5.3起已被弃用,出于安全原因,默认情况下已关闭。

有关详细信息,请参阅pHP documentation

答案 2 :(得分:0)

php_value和php_flag命令已过时,在.htaccess中使用时,会在大多数服务器上导致500错误。他们的设置应该在php.ini文件或系统中的等效文件中完成。

答案 3 :(得分:0)

我自己有这个错误。

phpinfo() - 在我的网站上显示为register_globals = off

通过2小时r& d网络搜索找到解决方案 - 编辑了php.ini register_globals的=关

再次上传,网站在几秒钟内就开始运行。

希望此解决方案可以帮助某人运行他/她的网站。