doctrine ClassLoader.php“无法打开流:没有这样的文件或目录”

时间:2013-02-10 11:05:49

标签: php doctrine

<?php

    use vendor\doctrine\common\lib\Doctrine\Common\ClassLoader,
    vendor\doctrine\orm\lib\Doctrine\ORM\EntityManager;

    require 'vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php' or die();

    $loader = new ClassLoader("Doctrine");
    $loader->register();

    $dbParams = array(
        'driver' => 'pdo_mysql',
        'user' => 'root',
        'password' => 'password',
        'dbname' => 'test_doctrine'
    );
    $path = 'entities/';
    $config = Setup::createAnnotationMetadataConfiguration($path, true);
    $entityManager = EntityManager::create($dbParams, $config);

    $user=new User();
    $post=new Post($user);

    $post->addComment("First comment");
    $post->addComment("Seconde comment");

    $entityManager->persist($user);
    $entityManager->persist($post);
    $entityManager->flush();

?>

我收到此错误:

  

警告:require(1):无法打开流:第8行/var/www/tests/index.php中没有此类文件或目录

     

致命错误:require():在/ var / www中打开所需的'1'(include_path ='。:/ usr / share / php:/usr/local/lib/smarty-3.1.13/libs')失败第8行/tests/index.php

有人可以帮我理解这里有什么不对吗?

1 个答案:

答案 0 :(得分:0)

有点奇怪     ......需要'1'......

无论如何检查1)和2)或所需的进一步信息。

1)在第8行之前,get_included_files显示了包含文件的列表。检查ClassLoader.php是否已加载。

2)新的ClassLoader(“Doctrine”)将在PHP include_path中找到Doctrine *名称空间。这包括。(当前路径)在你的情况下,检查你的Doctrine库(子目录也没关系)。