我在使用 nginx 的 ubuntu 18.04 中遇到了同样的问题。按照以下步骤,我的问题已得到解决:
首先打开终端并进入mysql CLI。要检查 mysql 套接字位置,我编写了以下命令。
mysql> show variables like '%sock%'
我得到了类似下面的东西:
+-----------------------------------------+-----------------------------+
| Variable_name | Value |
+-----------------------------------------+-----------------------------+
| mysqlx_socket | /var/run/mysqld/mysqlx.sock |
| performance_schema_max_socket_classes | 10 |
| performance_schema_max_socket_instances | -1 |
| socket | /var/run/mysqld/mysqld.sock |
+-----------------------------------------+-----------------------------+
4 rows in set (0.00 sec)
在 laravel 项目文件夹中,在 config 文件夹中查找 database.php 文件。在mysql部分我根据上表修改了unix_socket。
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'database_name',
'username' => 'username',
'password' => 'password',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'unix_socket' => '/var/run/mysqld/mysqld.sock',
),
现在只需保存更改,然后重新加载页面即可。