require_once在实时服务器上不起作用

问题描述 投票:2回答:5

我有一种情况,即使我具有相同的文件和文件夹结构,php行在localhost上也可以正常工作,但在实时服务器上却无法正常工作。

require_once '/../Renderer.php';

我在实时服务器上遇到的错误是:

警告:require_once(/../ Renderer.php):无法打开流:否此类文件或目录/home2/attafsir/public_html/balaghatoalquran/production/wp-content/themes/twentyten/Text/Diff/Renderer/unified.php在第19行

致命错误:require_once():要求打开失败'/../Renderer.php'(include_path ='。:/ usr / php / 54 / usr / lib64:/ usr / php / 54 / usr / share / pear')在/home2/attafsir/public_html/balaghatoalquran/production/wp-content/themes/twentyten/Text/Diff/Renderer/unified.php在第19行

我花了很多时间试图弄清楚这种行为背后的原因是什么,但无济于事,感谢您的帮助。

PS:我已经在主机上验证了是否在php.ini中安装并配置了PEAR,他们向我确认了。 (因为代码使用的是PEAR包)

解决方案:解决方案是可接受的答案,但是我想指出,尽管实时服务器上的问题已解决,但在localhost上无法正常工作。这是一个临时解决方案,因为最好的办法是在本地服务器和实时服务器上具有相同的代码。找到它后,我将回去发布完整的解决方案。总是欢迎您的建议。

php wordpress pear
5个回答
3
投票

/是文件系统的根,然后尝试将..提升到一个级别。那不存在,所以您会得到一个错误。

确定要不要相对路径吗?

如果您希望它相对于Web服务器的根目录(除非有非常严重的问题,否则它不是文件系统的根目录),请使用类似以下内容:

$_SERVER['DOCUMENT_ROOT'] . '/../Renderer.php'

1
投票

尝试一下:

require_once '../Renderer.php';

0
投票

您不能使用'/../Renderer.php'。它是“ ../”表示一个文件夹或“ /”表示根目录。


0
投票

删除第一个斜杠并尝试以下任何一个:

require_once '../Renderer.php';

require_once '../../Renderer.php';

哪个作品取决于您的文件结构。


0
投票

我也遇到相同的问题enter image description here将当前版本的PHP更改为PHP 5.3

© www.soinside.com 2019 - 2024. All rights reserved.