require_once无法在实时服务器上运行

时间:2014-04-11 15:01:01

标签: php wordpress pear

我有一种情况是,即使我有相同的文件和文件夹结构,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')in   /home2/attafsir/public_html/balaghatoalquran/production/wp-content/themes/twentyten/Text/Diff/Renderer/unified.php   第19行

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

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

解决方案: 解决方案是已接受的答案,但我想注意虽然实时服务器上的问题已解决,但在localhost上破坏了功能。这是一个临时解决方案,因为最好的方法是在本地和实时服务器上使用相同的代码。当我找到它时,我将回来发布一个完整的解决方案。你的建议总是受欢迎的。

5 个答案:

答案 0 :(得分:3)

/是文件系统的根,然后您尝试使用..上升一级。这不存在,所以你得到一个错误。

你确定你不想要相对路径吗?

如果您希望它相对于Web服务器的根目录(除非存在非常错误的情况,它不是文件系统的根目录),请使用以下内容:

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

答案 1 :(得分:1)

尝试:

require_once '../Renderer.php';

答案 2 :(得分:0)

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

答案 3 :(得分:0)

删除第一个斜杠并尝试:

require_once '../Renderer.php';

或者

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

哪一个有效取决于您的文件结构。

答案 4 :(得分:-1)

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