首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Doctrine 2 CLI连接到流浪者数据库(scotchbox)的问题

使用Doctrine 2 CLI连接到流浪者数据库(scotchbox)的问题
EN

Stack Overflow用户
提问于 2014-12-21 12:03:41
回答 2查看 765关注 0票数 2

我试图在我的PHP web应用程序中使用Doctrine2ORM,但我遇到了一个我无法解决的问题。

为了进行测试,我使用的是Vagrant,安装了史考奇盒(安装了一个基本的灯栈)。

我试图运行$vendor/bin/doctrine :schema-tool:create,我一直得到这个错误:

原则\DBAL\例外\连接异常

驱动程序中出现异常:没有这样的文件或目录。

原则\DBAL\驱动程序\Mysqli\MysqliException

文件或目录不存在

以下是我的连接参数:

代码语言:javascript
复制
  $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'):

代码语言:javascript
复制
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  if (!$mysqli) {
    die("Database connection failed:");
  }

我不知道我哪里出错了??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-04 09:32:44

对于那些可能也会遇到这个问题的人,以下是解决办法:

只需更新Vagrantfile以使用rsync:

代码语言:javascript
复制
config.vm.synced_folder ".", "/var/www", type: "rsync",
    rsync__exclude: ".git/" 

而不是默认的:

代码语言:javascript
复制
config.vm.synced_folder ".", "/var/www", :mount_options => ["dmode=777", "fmode=666"]

每次更新虚拟机时都需要运行vagrant rsync,但现在您可以在其中运行ssh并成功运行以下命令:

代码语言:javascript
复制
$vendor/bin/doctrine orm:schema-tool:create
票数 0
EN

Stack Overflow用户

发布于 2015-02-25 15:20:40

检查是否在流浪机器上安装了php-mysql

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27589164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档