PDOException SQLSTATE[HY000][2002]没有此类文件或目录我相信我已经成功地将我的(非常基本的)站点部署到fortrabbit,但是一旦我连接到SSH来运行一些命令(例如php artisan migrate或php artisan db:seed)我收到一条错误消息:[PDOException]SQLSTATE[HY000] [2002] No such file or directory在某种程度上,迁移一定起作用了,因为我的表在那里-但这并不能解释为什么它现在不适合我。
3 回答
慕仙森
TA贡献1827条经验 获得超7个赞
错误消息指示尝试通过套接字进行MySQL连接(不支持这种连接)。
在Laravel(技工)的上下文中,您可能希望使用不同的/正确的环境。例:php artisan migrate --env=production
(或任何环境)。
噜噜哒
TA贡献1784条经验 获得超7个赞
[PDOException]SQLSTATE[HY000] [2002] No such file or directory
打开终端并通过以下方式连接到MySQL: mysql -u root -p
它会问你相关的密码。然后,一旦得到MySQL promt,输入下一个命令: mysql> show variables like '%sock%'
你会得到这样的东西: +-----------------------------------------+-----------------+| Variable_name | Value |+-----------------------------------------+-----------------+| performance_schema_max_socket_classes | 10 || performance_schema_max_socket_instances | 322 || socket | /tmp/mysql.sock |+-----------------------------------------+-----------------+
保留最后一行的值: /tmp/mysql.sock
在你的 laravel
项目文件夹,查找 database.php文件中有配置DB连接参数的位置。在 MySQL节在末尾添加下一行: 'unix_socket' => '/tmp/mysql.sock'
你一定有这样的东西: 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'SchoolBoard', 'username' => 'root', 'password' => 'venturaa', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'unix_socket' => '/tmp/mysql.sock', ),
添加回答
举报
0/150
提交
取消