当我运行命令php artisan migrate
时,我收到以下错误
[PDOException]
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '10.0.1.22' (111)
我甚至遵循了此post并收到以下错误
[PDOException]
SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2)
我的laravel应用程序在端口8000
上运行,但我的phpmyadmin在10.0.1.22/phpmyadmin
我不确定这是否可能是问题,我仍然是初学者,所以我的调试解决方案是有限的。
以下是我的database.php
文件和我的.envi
文件
database.php中
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '10.0.1.22'),
'database' => env('DB_DATABASE', 'task'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'test'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
和我的.envi文件
APP_ENV=local
APP_DEBUG=true
APP_KEY=HBzhX830sIrNbZ2hdB23DGAuGa4mj4IL
DB_HOST=10.0.1.22
DB_DATABASE=task
DB_USERNAME=root
DB_PASSWORD=test
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
感谢所有帮助
答案 0 :(得分:1)
将DB_HOST更改为127.0.0.1
10.0.1.22是计算机上VM计算机的外部地址。 由于Apache / PHP和MySQL在同一台机器上运行,因此没有理由将它们与外部地址连接,而是与内部地址(127.0.0.1)连接。
在MySQL中创建用户时,您可以设置应接受连接的IP地址,默认情况下,在大多数情况下,root用户通常设置为仅侦听内部呼叫(127.0.0.1)。
答案 1 :(得分:0)
更改您的
DB_HOST=10.0.1.22
到
DB_HOST = 127.0.0.1
因为Loaclhost在此端口上定义。只是意味着
127.0.0.1 == localhost