我正在尝试在 linux 服务器上使用 Doctrine,但发现它很难开始。
我有以下文件夹结构
/var/www
init.php
/database
/entities
Template.php
init.php 的内容:
<?php
$classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__."/database");
$classLoader->register();
?>
Template 类分别位于 Entities 命名空间中:
<?php
namespace Entities;
/** @Entity **/
class Template {
...
}
?>
但是,当类加载器尝试注册类时,所有错误都会出现:
[Sun Jul 28 21:59:30 2013] [error] [client 192.168.1.225] PHP Warning: require(/var/www/database/Entities/Template.php): failed to open stream: No such file or directory in /var/www/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php 在第 164 行
[2013 年 7 月 28 日星期日 21:59:30] [错误] [客户端 192.168.1.225] PHP 致命错误:require():无法打开所需的 '/var/www/database/Entities/Template.php' (include_path='. :/usr/share/php:/usr/share/pear') 在 /var/www/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php 第 164 行
[Sun Jul 28 21:59:36 2013] [error] [client 192.168.1.225] 文件不存在:/var/www/favicon.ico
这是我第一次使用Doctrine,困难在于当前情况下的调试。我会感谢你的建议。
我在 Windows 上有完全相同的设置,唯一的区别是调用:
$classLoader = new \Doctrine\Common\ClassLoader('Entities', __DIR__."//database//");
一切正常。