返回空白页的特定项目PHP文件

时间:2015-08-18 17:51:07

标签: php web-services webserver

所以,我已将此项目上传到 webwire.in/alpha ,但它返回空白页。

PHP Fatal error:  require(): Failed opening required './classes/Cookie.php' (include_path='.:/usr/share/php:/usr/share/pear in /var/www/html/alpha/core/init.php on line 22

和第25行。

第21-23行代码= spl_autoload_register(function($class) { require_once ('./classes/' . $class . '.php'); //line 22 });

第25行= require_once ('./functions/sanitize.php');

关于此错误的棘手问题是这仅适用于此alpha文件夹。昨天也发生了,但某种程度上得到修复。现在,当我删除文件并上传时,错误又回来了。昨天,至少alpha/admin正在运行,但今天这个alpha文件夹中没有任何工作。

还有一件事,我已将相同的文件上传到不同的服务器,并且它可以完美运行。看到这里 - crowdsourced.in/rationshop(共享主机)

如果重要,当前服务器是VPS。

我不是这里的专家,在我搜索时仍然尝试过解决方案,但直到现在都没有为我工作。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

包含的页面包含相对于已加载页面的内容,而不是包含该内容的脚本。

因此,如果文件夹中有脚本:/var/www/html/alpha/admin/

其中包括脚本:/var/www/html/alpha/core/init.php

init.php包含文件./functions/sanitize.php

然后init.php相对于加载初始脚本的文件夹/var/www/html/alpha/admin/。不相对于init.php脚本。它正在寻找一个不存在的/var/www/html/alpha/admin/functions/sanitize.php文件。我假设它存在于/var/www/html/alpha/core/functions/sanitize.php下。

简单的解决方法是使用__DIR__这是一个内置的php magic常量,它具有当前脚本(当前包含的文件)的值。在/var/www/html/alpha/core/init.php内,__DIR__ == /var/www/html/alpha/core/。因此,您可以加入/ require __DIR__."/functions/sanitize.php