我相信我已经成功地将我的(非常基本的)站点部署到fortrabbit,但是一旦我连接到SSH来运行一些命令(例如php artisan migrate
或php artisan db:seed
),我就会收到一条错误消息:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
在某种程度上,迁移肯定起作用了,因为我的表在那里-但这并不能解释为什么它现在不能为我工作。
发布于 2013-12-23 03:08:56
该错误消息指示尝试通过套接字进行MySQL连接(不支持)。
在Laravel (工匠)的上下文中,您可能希望使用不同的/正确的环境。例如:php artisan migrate --env=production
(或其他任何环境)。参见here。
发布于 2014-03-20 11:51:09
由于另一个原因,我遇到了[PDOException] SQLSTATE[HY000] [2002] No such file or directory
错误。我刚刚使用Apache2.4.7、PHPV5.5.10和MySQL 5.6.16在Ubuntu12.04上构建了一个全新的LAMP堆栈。我把我的网站移了回来,启动了它们。但是,由于上面的[PDOException]
,我无法加载基于Laravel 4.2.x的站点。因此,我查看了php -i | grep pdo
,并注意到这一行:
pdo_mysql.default_socket => /tmp/mysql.sock => /tmp/mysql.sock
但是,在我的/etc/my.cnf中,sock文件实际上是在/var/run/mysqld/mysqld.sock
中。
因此,我打开我的php.ini并设置pdo_mysql.default_socket
的值
pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock
然后,我重启apache并检查php -i | grep pdo
pdo_mysql.default_socket => /var/run/mysqld/mysqld.sock => /var/run/mysqld/mysqld.sock
帮我修好了。
发布于 2014-08-30 00:51:36
在我的例子中,我一点问题都没有,只是忘记启动mysql服务……
sudo service mysqld start
https://stackoverflow.com/questions/20723803
复制相似问题