网络上有些讨论这个问题的主题,但是我找不到任何整洁的解释或者对于这个问题的实质回答。我的目标是将 Laravel 5.1 连接到 MAMP 的 MySQL 数据库。
在我的 config>app.php: 文件中:
'default' => env('DB_CONNECTION', 'mysql'),
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost:8889',
'database' => 'test',
'username' => 'root',
'password' => 'root',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'prefix' => '',
'strict' => false,
],
在我的.env文件中:
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root
我也有一个 .env.example: 文件(我相信它没有任何功能)。
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
我在database>migrations目录下有create_users_table.php
和create_password_resets_table.php
文件(尽管我没有运行任何迁移:migration:make)。
MAMP成功地将服务器定向并运行,因为它在localhost上加载项目。
这是我的MAMP设置:
test
数据库已创建(其中包含我以前在其他项目中创建和使用的表,而不是Laravel)。
尽管一切似乎正确,但在尝试提交Auth表单时,我收到以下错误:
Connector.php的PDOException第50行: 找不到驱动程序
在Connector.php的第50行
在PDO->__construct('mysql:unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=test','root','root',array('0','2','0',false,false))中的
在MySqlConnector.php的第22行中,使用Connector->createConnection('mysql:unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=test',array('driver' => 'mysql', 'host' => 'localhost:8889', 'database' => 'test', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', 'prefix' => '', 'strict' => false, 'name' => 'mysql')和
等等...