PHP不能__autoload类

时间:2014-02-23 21:15:35

标签: php url-routing autoload

我有index.php,我保留了__autoload()函数,从lib文件夹中加载类。

 function __autoload($class) {
      if(file_exists(LIBS . $class .".php")){
           require LIBS . $class .".php";
      }
 }

我有一个Dashboard类

 class Dashboard extends Controller {
      public function __construct(){
           Auth::handleLogin();
      }
 }

在Ubuntu 12.04上使用sudo apt-get install php5和apache2我无法自动加载Auth,可能出现什么问题?它可以在我的另一台使用Bitnami XAMPP服务器的计算机上运行。

这是我得到的错误:

 Fatal error: Class 'Auth' not found in /var/www/app/controllers/dashboard.php on line 6

Auth :: handleLogin();正在被召唤。

2 个答案:

答案 0 :(得分:2)

您遇到的情况是因为在linux中,文件系统路径区分大小写。

答案 1 :(得分:0)

我有linux mint 16,当我做对象声明时,我使用它与命名空间 这是完美的工作

spl_autoload_register(function ($class) {

    $class = str_replace("\\", "/", $class);

    include $class . '.php';

});

在索引文件

require_once 'autoload.php';

$db = new DBWork\DBWork('localhost', 'northwind', 'root', '123');