我试图在我的PHP web应用程序中使用Doctrine2ORM,但我遇到了一个我无法解决的问题。
为了进行测试,我使用的是Vagrant,安装了史考奇盒(安装了一个基本的灯栈)。
我试图运行$vendor/bin/doctrine :schema-tool:create,我一直得到这个错误:
原则\DBAL\例外\连接异常
驱动程序中出现异常:没有这样的文件或目录。
原则\DBAL\驱动程序\Mysqli\MysqliException
文件或目录不存在
以下是我的连接参数:
$isDevMode = true;
$paths = array("db-entities/");
$dbParams = array(
'driver' => 'mysqli',
'user' => 'root',
'password' => 'root',
'dbname' => 'scotchbox'
);
$config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
$entityManager = EntityManager::create($dbParams, $config);如果我向数组中添加一个'host‘=> '127.0.0.1’,则得到一个不同的错误:
原则\DBAL\例外\连接异常
驱动程序中出现异常:连接被拒绝
原则\DBAL\驱动程序\Mysqli\MysqliException
连接被拒绝
如果我尝试使用标准mysqli调用连接,它可以工作(DB_HOST = 'localhost'):
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (!$mysqli) {
die("Database connection failed:");
}我不知道我哪里出错了??
发布于 2015-05-04 09:32:44
对于那些可能也会遇到这个问题的人,以下是解决办法:
只需更新Vagrantfile以使用rsync:
config.vm.synced_folder ".", "/var/www", type: "rsync",
rsync__exclude: ".git/" 而不是默认的:
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]每次更新虚拟机时都需要运行vagrant rsync,但现在您可以在其中运行ssh并成功运行以下命令:
$vendor/bin/doctrine orm:schema-tool:create发布于 2015-02-25 15:20:40
检查是否在流浪机器上安装了php-mysql。
https://stackoverflow.com/questions/27589164
复制相似问题