我现在已经搜索了几个小时,仍然无法找到它。
我得到2个错误,如果我将数据库主机用作'localhost'
,我会收到此错误:
[PDOException]
SQLSTATE[HY000] [2002] No such file or directory
如果我将数据库主机更改为'127.0.0.1'
,我会收到此错误:
[PDOException]
SQLSTATE[HY000] [2002] Connection refused
我尝试过的事情:
database.php
文件中的mysql数组中localhost
更改为127.0.0.1
并返回。phpmyadmin
任何想法如何解决这个问题?
答案 0 :(得分: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' => '',
)
答案 1 :(得分:1)
首先通过键入
清除您的配置文件php artisan config:clear
然后修改您的.env
文件
APP_URL = 127.0.0.1
DB_HOST = 127.0.0.1
希望这对您有用。
答案 2 :(得分:0)
打开文件mysql配置。 (你可以在/opt/lampp/manager-linux-x64.run中打开lampp控制面板,然后打开配置Mysql数据库或打开/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的安装位置。我告诉你,看看你是否能找到它。祝你好运
答案 3 :(得分: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文件的目录是非常重要的。