【发布时间】:2015-12-02 07:38:09
【问题描述】:
嘿伙计们,我正在尝试学习 laravel 并按照教程进行操作,但我似乎无法通过运行 LAMP 的 VM 连接到我的数据库。我已经浏览了每一个帖子,但没有任何效果
当我运行命令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 文件
数据库.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
感谢大家的帮助
【问题讨论】:
-
你试过把 127.0.0.1 作为 DB_HOST 吗?
-
@MagnusEriksson WTH??那行得通!但如何???你能解释一下吗
-
10.0.1.22 是从您的计算机到您的 VM 机器的外部地址。由于 Apache/PHP 和 MySQL 在同一台机器上运行,因此您不应尝试将它们与外部地址连接,而应与内部地址 (127.0.0.1) 连接。 MySQL root 用户也可能只接受来自 127.0.0.1 的调用。 (这是在 MySQL 中创建用户时的设置)
-
@MagnusEriksson 谢谢你
-
我会将其添加为答案,以便您检查它是否已解决。 :)
标签: php mysql database laravel-5.1