PHP自动加载在其他服务器上失败

时间:2014-02-26 16:01:56

标签: php require autoload

我在localhost上创建了一个网站模块,我试图让它在实时服务器上工作,这很令人沮丧,因为我确信每个要加载的类都有正确的语法。即使路径相同,它们也不会被加载。

function __autoload($class_name) {
   require("adk3/classes/".$class_name.".php");
}

以上是从根文件夹执行localhost的原始文件(htdocs / index.php)

function autoloader(){
       require("adk3/classes/".$class_name.".php");
}
spl_autoload_register('autoloader',true);

这也是我也在尝试而且也没有用。我还检查了绝对路径:

require(dirname(__FILE__)."/adk3/classes/".$class_name.".php");

即使$userList = new UserList();处于启用状态,脚本也会在E_ALL停止执行,不会显示任何错误消息。使用dirname语法file_exists()表示是 - 它们存在。

修改(附加信息):

  • error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE | E_STRICT | E_ALL); 什么都没有帮助。
  • PHP版本为5.3.1。
  • <?php require("adk3/interfaces.php"); // okay require("adk3/classes/UserList.php"); //STOPS without error shown

1 个答案:

答案 0 :(得分:1)

我花了很多时间才弄明白:

文件已成功使用,这就是我从未收到任何错误消息的原因。根据PHP5.4 +,在所需文件中编写的类是可以的。由于我在新服务器上运行了PHP 5.3,因此它无法解释我在某些方法中使用的新的速记数组语法[]