require_once函数导致服务器错误

时间:2012-08-08 16:11:24

标签: php include webserver

我正在尝试在php中使用require_once("");函数,并且无论何时使用它都会导致服务器错误。我知道我正在使用正确的路径,因为我已经多次检查了我的文件目录,并且在编写这个PHP代码时也一直在关注视频教程。为什么我收到此服务器错误的任何想法?

       <?php
            require_once("../../includes/session.php");
       ?>

调用此函数的页面位于共享文件夹的文件夹中 - 如果有意义的话,将远离session.php两个子文件夹。

此文件为index.php,位于public/admin。此页面调用require_once位于public/admin/index.php,他们共享的文件夹为photo_gallery

错误是:HTTP错误500(内部服务器错误):服务器尝试完成请求时遇到意外情况。

我所做的所有调试都是在调用require_once之前和在require_once之后以及在没有输出之后发布hello时回显一个hello语句

这是我在查看错误日志时收到的错误:

[08-Aug-2012 11:01:04] PHP解析错误:语法错误,第47行/home3/visittom/public_html/photo_gallery/includes/session.php中的意外“{”

3 个答案:

答案 0 :(得分:2)

require和include路径是相对于声明它们的文件,不一定是用户加载的页面。因此,如果您的index.php包含另一个包含require_once的页面,则可能会遇到问题。

另外,请检查Web服务器错误日志,该日志应提供有关该500错误的更多详细信息。

答案 1 :(得分:1)

尝试使用绝对路径而不是相对路径

所以你需要的是 - require_once(dirname(dirname(__FILE__)) . '/includes/session.php');

告诉我它是否合适

答案 2 :(得分:0)

如果无法访问该文件,PHP也将抛出这些错误,无论是否给出了错误的路径,或者由于权限,文件是否明显无法访问。

chmod 755 /path/to/file.php