[英]PHP can not __autoload classes
我有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(); 被称为。
您遇到这种情况,因为在linux中,文件系统路径区分大小写。
我有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');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.