【问题标题】:require_once Causes 500 internal Server Errorrequire_once 导致 500 内部服务器错误
【发布时间】:2015-10-26 01:21:08
【问题描述】:

我的服务器上有一个 php 脚本,我正在尝试确保 require_once 以便只有一个包含我所有功能的页面。

当我加载我的主页时,它会加载一个 500 内部错误。

我的主页为这行php:

require_once "functions.inc.php";

当我评论那一行时,页面加载正常,所以我知道错误必须在 functions.inc.php 页面中。

然后我只是尝试在我的浏览器中仅加载 functions.inc.php 并且加载正常且没有错误,所以我无法弄清楚为什么包含不起作用。

我的 functions.inc.php 页面看起来像这样:

    <?php

    function one($arg1, $arg2) {
          return "one";

        }

function two($arg1, $arg2) {
          return "two";

        }


    ?>

【问题讨论】:

  • 我的猜测是编码问题或脚本中一些奇怪的不可见字符在加载时破坏了一切。打开错误报告和/或开始删除functions.inc.php 中的行,直到找到有问题的部分。
  • 这可能是您的服务器处理require_once 未能找到functions.inc.php 文件的方式。它被称为 require 是有原因的。如果找不到该文件,则会产生E_COMPILE_ERROR 级错误并停止执行脚本。我的猜测是 require_once 根本没有找到该文件,它正在产生该错误,而您的服务器正在通过返回 500 内部错误来处理该错误。

标签: php


【解决方案1】:

错误是我的 mySQL 连接有另一个包含。

这包括我在两个页面上都有。这就是为什么由于包含的页面占用了第一页上的所有其他包含而发生错误的原因。

我基本上尝试两次导入相同的 php 代码。

【讨论】:

    【解决方案2】:

    问题可能是你的路径不对,或者文件不在包含路径中。

    尝试使用绝对路径,或者将目录(文件所在的)路径添加到include_path中。

    set_include_path(get_include_path() . PATH_SEPARATOR . $the_dir_path_where_that_file_is_in);
    

    【讨论】:

      【解决方案3】:

      检查您的文件位置以及文件扩展名。

      【讨论】:

      • 这应该是一条评论。
      猜你喜欢
      • 2013-08-11
      • 2012-03-29
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 2011-01-22
      • 1970-01-01
      • 2011-12-23
      相关资源
      最近更新 更多