sen*_*nty 6 mysql database pdo mamp laravel
网上有一些主题正在讨论这个问题,但是,我找不到对该问题的任何整洁的解释或对该问题的任何可靠的答案。我想要实现的是将 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,
],
Run Code Online (Sandbox Code Playgroud)
在我的.env 中:
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root
Run Code Online (Sandbox Code Playgroud)
我也有.env.example:(我认为它没有功能)
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Run Code Online (Sandbox Code Playgroud)
我的数据库中也有create_users_table.phpand >migrations(即使我没有运行任何迁移:make)create_password_resets_table.php
MAMP 正在成功引导和运行服务器,因为它在本地主机上加载项目。
这是我的 MAMP 设置:
并且test创建了数据库(其中包含我之前在其他项目中创建并使用的表,而不是 Laravel。)
尽管对我来说一切似乎都是正确的,但在尝试提交 Auth 表单时,我收到此错误:
Connector.php 第 50 行中的 PDOException:找不到驱动程序
在 Connector.php 第 50 行
在 PDO->__construct ('mysql:unix_socket=/Applications/MAMP/tmp/mysql/mysql.sock;dbname=test', 'root', 'root', array('0', '2', '0' , false, false)) 在 Connector.php 第 50 行
at 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'), array('0', '2' , '0', false, false)) 在 MySqlConnector.php 第 22 行
等等...
ses*_*ith 13
在 mac 或 unix 上,您必须在配置 database.php 文件中包含套接字路径
IE 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
对我来说最重要的是定义 UNIX 套接字。因为我的机器上有另一个 MYSQL - Laravel 试图连接到该 MYSQL 进程中的数据库。
为要使用的 MAMP 数据库定义 UNIX 非常有效。尝试将其添加到 database.php 中的 MYSQL 配置中
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
],
Run Code Online (Sandbox Code Playgroud)