2

我刚刚向我的托管公司请求安装 APC,之后他们告诉我他们必须将 PHP 处理程序从 suPHP 切换到 DSO + modruid2 或 FastCGI,我选择了 DSO。

但是现在我的网站坏了!该页面充满了未找到包含文件的警告。像这样:

Warning: include(): Filename cannot be empty in /home/mydomain/public_html/index.php on line 14

Warning: include(): Failed opening '' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/mydomain/public_html/index.php on line 14

是不是有些权限问题?DSO 需要哪些配置更改才能运行?难道是modruid2没有正确安装?还是APC引起的问题?我对 PHP 处理程序真的没有太多经验,而且我似乎无法通过我的托管公司或通过搜索网络找到解决方案!

编辑

这是第 14 行,它导致了上述错误 - 在 DSO 问题之前它工作正常:

include ("include/header.php"); 

而且我在所有包含文件的地方都遇到了类似的错误。

4

1 回答 1

0

作为 Web 主机的前 Linux 系统管理员,这些问题的最常见解决方案涉及在 PHP 处理程序切换后更正权限。进行切换的管理员应该在进行切换的过程中完成此操作,但是当 PHP 处理程序切换时权限不会自动更新,并且不同的处理程序有时具有稍微不同的权限要求。您的网站抛出错误,抱怨无法打开您可以验证未被触摸、删除或移动的文件,这一事实与权限问题相当一致。我会向您的网络主机发送后续请求,并让他们确保您的文件/目录权限对于 DSO 是正确的。

于 2016-09-01T19:37:39.397 回答