当我尝试使用“php artisan migrate”命令在Laravel 5中迁移表时,我收到以下错误:
'SQLSTATE [HY000] [2002]没有这样的文件或目录。 。 。 /vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:47
我的.env文件包含以下默认设置:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
我的database.php文件将mysql列为默认数据库连接,homestead在hometead.yaml文件中列为数据库,而homestead是我访问mysql并使用show databases;
命令时列出的表之一
关于我可能做错什么的任何想法?
答案 0 :(得分:1)
在127.0.0.1
文件中尝试localhost
而不是.env
。它对我有用:)
答案 1 :(得分:0)
这似乎是套接字文件的问题。如果这有助于Starting with Zend Tutorial - Zend_DB_Adapter throws Exception: "SQLSTATE[HY000] [2002] No such file or directory"
,请与我们联系答案 2 :(得分:0)
在database.php文件中添加mysql.sock路径,如下例
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
Eample
'mysql' => [
'driver' => 'mysql',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '8889'),
PDOException SQLSTATE[HY000] [2002] No such file or directory
答案 3 :(得分:0)
好的,对我来说这可能是一个特例,但是我遇到了这个问题。
我将文件从基于Laragon的服务器移动到另一台计算机上基于Mamp的服务器。我连续几天都遇到此错误,并且仅在运行php artisan migrate
时才收到此错误,而在加载页面时却没有。加载页面时,我收到未找到表格,这是可以理解的,因为表格不存在。
一段时间后,我只是运行composer update
,然后它修复了错误并为我工作。不知道这是否对任何人都有帮助,但如果有任何帮助,我会回到这篇文章。
答案 4 :(得分:0)
将 localhost
更改为 DATABASE_HOST
文件中的 .env
,将其更改为 127.0.0.1
,然后运行 php artisan config:clear
,然后运行 {{1}再次}。
或者,如果您的问题没有解决,请在您的 .env 文件中使用这些更改:
php artisan migrate:install
然后在Database.php中添加文件夹位置:
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
最后,尝试:
'unix_socket' => env('DB_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'),