仅在public_html中出现500内部服务器错误?

时间:2014-09-07 15:59:27

标签: php apache .htaccess hosting

我在共享主机帐户上遇到500个内部服务器错误,但只有当我尝试访问主根目录public_html目录中的PHP文件时才会这样。子目录中的任何PHP文件都非常好。

所有文件似乎都设置了权限(全部设置为755)。重写引擎在.htaccess中启用了一个重写规则,它没有任何问题,但是为了确保我已经删除了那里的所有规则并且问题仍然存在。

每次尝试访问文件时,错误日志都会显示:

[07-Sep-2014 16:15:36 Europe/London] PHP Warning:  PHP Startup: Unable to load dynamic
 library '/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so' - 
/usr/local/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so: 
cannot open shared object file: No such file or directory in Unknown on line 0

每个需要加载的.so文件都会重复警告。所有HTML文件和图像文件都可以直接在root中正常工作,它只是导致问题的PHP文件。

由于它是共享主机,我无法重新启动Apache,但除此之外,我还可以完全修改php.ini

我该如何解决这个问题?

其他信息:

之前我没有注意到这一点,但我也收到了这个错误:

[07-Sep-2014 16:15:36 Europe/London] PHP Fatal error: Directive 'allow_call_time_pass_reference' is no longer available in PHP in Unknown on line 0

1 个答案:

答案 0 :(得分:2)

在旧版本的PHP中,您可以通过引用带有&符号的变量通过引用将变量传递给函数,即使函数未指定其参数作为引用传递。可以使用指令allow_call_time_pass_reference来控制此功能。使用它自PHP 5.0以来已被弃用,并在5.4中被删除。

php.ini删除它,错误应该消失。

如果需要通过引用传递变量,请首先指定要通过引用传递的函数参数,或者将值作为一个不干净但工作正常的数据嵌套在数组中。