所以,我已将此项目上传到 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。
我不是这里的专家,在我搜索时仍然尝试过解决方案,但直到现在都没有为我工作。
非常感谢任何帮助。
答案 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