【发布时间】:2015-02-19 18:05:44
【问题描述】:
我正在尝试将 Doctrine 2 ORM 用于我的 PHP Web 应用程序,但遇到了一个我无法解决的问题。
为了进行测试,我正在使用安装了 Scotchbox 的 Vagrant(安装了一个基本的 LAMP 堆栈)。
我正在尝试运行 $vendor/bin/doctrine orm:schema-tool:create 并且不断收到此错误:
[Doctrine\DBAL\Exception\ConnectionException]
驱动发生异常:没有这样的文件或目录
[Doctrine\DBAL\Driver\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' 添加到数组中,则会收到不同的错误:
[Doctrine\DBAL\Exception\ConnectionException]
驱动发生异常:连接被拒绝
[Doctrine\DBAL\Driver\Mysqli\MysqliException]
连接被拒绝
如果我尝试使用标准的 mysqli 调用进行连接,它可以工作 (DB_HOST = 'localhost'):
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if (!$mysqli) {
die("Database connection failed:");
}
我不确定我哪里出错了??
【问题讨论】:
-
如果你在数组中添加
'host' => 'localhost'?我在 OSX 安装上的 2 个 mysql 实例也遇到了类似的问题......也许也检查你的进程。 -
如果我添加它,它会给我带来与没有它相同的错误。
-
ps waux | grep mysql说了什么?
标签: php doctrine-orm vagrant