3

我现在已经搜索了几个小时,但仍然找不到这个。

我得到 2 个错误,如果我使用数据库主机 as 'localhost',我得到这个错误:

[PDOException]                                    
SQLSTATE[HY000] [2002] No such file or directory  

如果我将数据库主机更改为'127.0.0.1'我收到此错误:

 [PDOException]                             
 SQLSTATE[HY000] [2002] Connection refused

我尝试过的事情:

  • 更改运行 apache / mysql 服务器的位置(用户或 `josh (Apache) / josh (MySQL)
  • 更改 MySQL 在 MAMP 中运行的端口,并将该端口放入database.php文件中的 mysql 数组中
  • 来回更改连接localhost的主机。127.0.0.1
  • 在中创建一个新用户phpmyadmin
  • 关闭防火墙

任何想法如何解决这一问题?

4

4 回答 4

6

我想通了,在后面加上这个'host' => '127.0.0.1'

'unix_socket'   => '/Applications/MAMP/tmp/mysql/mysql.sock'

所以连接看起来像这样:

'mysql' => array(
        'driver'        => 'mysql',
        'host'          => '127.0.0.1',
        'unix_socket'   => '/Applications/MAMP/tmp/mysql/mysql.sock',
        'database'      => 'dbname',
        'username'      => 'josh',
        'password'      => 'pass',
        'charset'       => 'utf8',
        'collation'     => 'utf8_unicode_ci',
        'prefix'        => '',
    )
于 2014-12-29T18:38:05.337 回答
1

通过键入拳头清除您的配置文件

php artisan config:clear

然后修改你的.env文件

APP_URL = 127.0.0.1
DB_HOST = 127.0.0.1

希望这对你有用。

于 2020-04-13T10:37:53.427 回答
0

如果您使用 lampp 。你可以试试这个:

打开文件 mysql 配置。(您可以在/opt/lampp/manager-linux-x64.run中打开lampp控制面板,然后打开Mysql数据库的Configure或打开/opt/lampp/etc/my.cnf)。

找到并查看“socket =/opt/lampp/var/mysql/mysql.sock”,

将 'unix_socket' => '/opt/lampp/var/mysql/mysql.sock' 添加到 laravel 中的文件 database.php 中:

'mysql' => [
        'driver'    => 'mysql',
        'unix_socket'      => '/opt/lampp/var/mysql/mysql.sock',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'luanvan'),
        'username'  => env('DB_USERNAME', 'huuthang'),
        'password'  => env('DB_PASSWORD', '123456'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

文件 mysql.sock 取决于您安装 Lampp 的位置。我让你看看你是否找不到。祝你好运

于 2015-09-02T16:33:44.193 回答
0

我必须在 ubuntu 15.10 中执行以下操作

copy the file or file contents from /opt/lampp/etc/my.cnf to /etc/mysql/my.cnf

然后打开 app/config 文件夹中的 database.php 文件,并在 'host' => env('DB_HOST', 'localhost') 下方添加以下行

'unix_socket' => '/opt/lampp/var/mysql/mysql.sock'

这解决了我的问题,可以拯救别人的。请注意,在配置路径之前,首先验证包含 mysql.sock 文件的目录是非常重要的。

于 2016-01-05T06:38:56.017 回答