Doctrine orm 没有这样的文件或目录
我将ZF2与DoctrineOrm一起使用,最近在运行OSX Yasomite的mac上安装了一个使用vagrant的本地环境 除了在尝试使用Doctrine供应商工具时出现以下错误外,所有操作均按预期进行:Doctrine orm 没有这样的文件或目录,doctrine-orm,zend-framework2,Doctrine Orm,Zend Framework2,我将ZF2与DoctrineOrm一起使用,最近在运行OSX Yasomite的mac上安装了一个使用vagrant的本地环境 除了在尝试使用Doctrine供应商工具时出现以下错误外,所有操作均按预期进行: ./vendor/bin/doctrine-module orm:schema-tool:create --dump-sql 错误内容如下: 未捕获异常“PDOException”,消息为“SQLSTATE[HY000][2002] 中没有这样的文件或目录 example.com/tru
./vendor/bin/doctrine-module orm:schema-tool:create --dump-sql
错误内容如下:
未捕获异常“PDOException”,消息为“SQLSTATE[HY000][2002]
中没有这样的文件或目录
example.com/trunk/vendor/doctor/dbal/lib/doctor/dbal/Driver/PDOConnection.php:43
编辑
有问题的类的第43行:父::_构造$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('Doctrine\DBAL\Driver\PDOStatement', array()));
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (\PDOException $exception) {
throw new PDOException($exception);
}
}
当我从catch语句中转储变量时,它们与预期的一样
我可以通过管理员访问mysql位置:
网站加载错误,因为我无法创建数据库
我记得当我最初设置本地MAMP环境时,遇到了类似的问题,必须将以下行添加到pdo设置中:
/Applications/MAMP/tmp/mysql/mysql.sock
我忍不住想我也需要做同样的事情,但是我不知道该怎么做
编辑:
我看到套接字位于这里:/var/lib/mysql/mysql.sock
连接到此服务器的正确设置是什么?以下操作不起作用:
'connection' => [
'orm_default' => [
'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'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' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => [
'host' => 'localhost',
'port' => '3306',
'user' => 'games_cloud',
'password' => 'games_cloud',
'dbname' => 'games_cloud',
'unix_socket' => '/var/lib/mysql/mysql.sock'
]
]
],
这一行的内容是:example.com/trunk/vendor/doctor/dbal/lib/doctor/dbal/Driver/PDOConnection.php:43…它试图查找什么文件,但失败了?你确定是unix套接字吗?我已经更新了问题以包含方法,第43行是这样的:父::_构造$dsn,$user,$password,$options;在我的例子中,数据库服务在重新启动后没有运行。启动它解决了问题。OS=>Linux
'connection' => [
'orm_default' => [
'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
'params' => [
'host' => 'localhost',
'port' => '3306',
'user' => 'games_cloud',
'password' => 'games_cloud',
'dbname' => 'games_cloud',
'unix_socket' => '/var/lib/mysql/mysql.sock'
]
]
],