0

我正在尝试在 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//");

一切正常。

4

1 回答 1

0

命名空间实体;

应该是小写

命名空间实体;

然后它在Linux中运行良好。

于 2013-08-11T12:06:02.743 回答