Php 使用Doctrine 2 CLI连接到vagrant(scotchbox)数据库时出现问题
我试图在我的PHP web应用程序中使用Doctrine 2 ORM,但遇到了一个我无法解决的问题 为了进行测试,我使用了Vagrant,安装了Scotchbox(安装了一个基本的灯组) 我正在尝试运行$vendor/bin/doctor-orm:schema-tool:create,但一直出现以下错误: [条令\DBAL\Exception\ConnectionException]Php 使用Doctrine 2 CLI连接到vagrant(scotchbox)数据库时出现问题,php,doctrine-orm,vagrant,Php,Doctrine Orm,Vagrant,我试图在我的PHP web应用程序中使用Doctrine 2 ORM,但遇到了一个我无法解决的问题 为了进行测试,我使用了Vagrant,安装了Scotchbox(安装了一个基本的灯组) 我正在尝试运行$vendor/bin/doctor-orm:schema-tool:create,但一直出现以下错误: [条令\DBAL\Exception\ConnectionException] 驱动程序中发生异常:没有此类文件或目录 [条令\DBAL\Driver\Mysqli\MysqliExcepti
驱动程序中发生异常:没有此类文件或目录 [条令\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);
如果将“主机”=>“127.0.0.1”添加到阵列中,则会出现不同的错误:
[条令\DBAL\Exception\ConnectionException]驱动程序中发生异常:连接被拒绝 [条令\DBAL\Driver\Mysqli\MysqliException]
拒绝连接 如果我尝试使用标准的mysqli调用进行连接,它会工作(DB_HOST='localhost'):
我不确定哪里出了问题???检查您是否已在vagrant机器上安装了
php mysql
对于那些可能也会遇到此问题的人,以下是解决方案:
只需更新Vagrant文件以使用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
如果在数组中添加
“主机”=>“本地主机”
?我在OSX上安装了两个mysql实例,也遇到了类似的问题。。。也许也可以检查你的进程。如果我加上它会给我和没有它时一样的错误。aps-waux | grep-mysql
会说什么?你可能只需要删除装载选项(或更新它们),但我还没有测试过。
$vendor/bin/doctrine orm:schema-tool:create