我正在使用带有DoctrineOrm的ZF2,最近在运行OSX(Yasomite)的mac上安装了一个使用流浪者的本地环境。
一切都按预期进行,除了我在尝试使用条令供应商工具时遇到以下错误:
./vendor/bin/doctrine-module orm:schema-tool:create --dump-sql
错误为:
未捕获异常'PDOException',消息为'SQLSTATE[HY000][2002]中没有这样的文件或目录example.com/trunk/vender/doctrine/dbal/lib/doctrine/dbal/Driver/PDOConnection.php:43
编辑
第43行来自有问题的类:parent::__construct($dsn,$user,$password,$options);
class PDOConnection extends PDO implements Connection, ServerInfoAwareConnection
{
public function __construct($dsn, $user = null, $password = null, array $options = null)
{
try {
parent::__construct($dsn, $user, $password, $options);
$this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('DoctrineDBALDriverPDOStatement', array()));
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $exception) {
throw new PDOException($exception);
}
}
当我从catch语句中转储变量时,它们是预期的
我可以通过管理员访问mysql位置:http://192.168..../adminer/
网站加载,尽管有错误,因为我无法创建数据库。
我记得我最初设置本地MAMP环境时遇到了类似的问题,不得不在pdo设置中添加以下行:
/Applications/MAMP/tmp/mysql/mysql.sock
'connection' => [
'orm_default' => [
'driverClass' =>'DoctrineDBALDriverPDOMySqlDriver',
'params' => [
'host' => 'localhost',
'port' => '3306',
'user' => 'games_cloud',
'password' => 'games_cloud',
'dbname' => 'games_cloud',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock'
]
]
],
我忍不住认为我也需要做同样的事情,但我真的不知道该怎么做。
编辑:
SSHing进入Vbox我看到插座位于这里:/var/lib/mysql/mysql.sock
连接到此的正确设置是什么?以下不起作用:
'connection' => [
'orm_default' => [
'driverClass' =>'DoctrineDBALDriverPDOMySqlDriver',
'params' => [
'host' => '192.168.56.101/',
'port' => '3306',
'user' => 'games_cloud',
'password' => 'games_cloud',
'dbname' => 'games_cloud',
'unix_socket' => '/var/lib/mysql/mysql.sock' //To use Doctrine Entity Generator
]
]
],
任何帮助都将不胜感激!
设法让它工作,这是一个设置:
'connection' => [
'orm_default' => [
'driverClass' =>'DoctrineDBALDriverPDOMySqlDriver',
'params' => [
'host' => 'localhost',
'port' => '3306',
'user' => 'games_cloud',
'password' => 'games_cloud',
'dbname' => 'games_cloud',
'unix_socket' => '/var/lib/mysql/mysql.sock'
]
]
],