[英]Connection to DB with socket refused in Laravel
我知道SO和Google上有很多關於這個問題的點擊,但我似乎還有一個獨特的問題。
錯誤消息:SQLSTATE [HY000] [2002]連接被拒絕
組態
'mysql' => array(
'driver' => 'mysql',
"host" => "localhost:/var/run/mysqld4.sock",
'port' => '3304',
"username" => "admin",
"password" => "admin",
"database" => "frontend_generic",
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'pre_',
),
我確認我的數據庫在端口3304上運行,我的前綴是正確的,用戶,數據庫和密碼也是如此。
對於主機我嘗試了“localhost”,“127.0.0.1”,“ http://127.0.0.1 ”甚至是服務器的實際ip地址。
但是,沒有運氣或改變。 我嘗試在本地database.php文件中使用完全相同的配置,但正如預期的那樣,沒有任何更改。
出於選擇,我在這里缺少什么?
更新:
這是來自與此配置一起使用的其他應用的代碼。 這是Kohana,而不是Laravel,但它有效。
"general" => array
(
"type" => "mysql",
"connection" => array
(
"hostname" => "localhost:/var/run/mysqld4.sock",
"username" => "admin",
"password" => "admin",
"persistent" => FALSE,
"database" => "frontend_generic",
),
"table_prefix" => "pre_",
"charset" => "utf8",
"caching" => FALSE,
"profiling" => TRUE,
),
使用帶有laravel 5的套接字時,請使用unix_socket
配置而不是host
和port
。
雖然更改為IP地址確實有效,但當數據庫服務器位於同一台計算機上時,使用套接字可能會有所幫助。
更正最初發布的配置:
'mysql' => array(
'driver' => 'mysql',
"unix_socket" => "/var/run/mysqld4.sock",
"username" => "admin",
"password" => "admin",
"database" => "frontend_generic",
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => 'pre_',
),
這就是Laravel 5中數組應該是這樣的:
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
在位於項目根目錄中的.env文件中,請更改您需要調整的設置,然后再次嘗試。 很難說什么可能導致這個問題,所以試試吧。
示例.env文件
APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
CACHE_DRIVER=file
SESSION_DRIVER=file
使用您的憑據創建文件后,如我所評論的那樣,請調用文件.env並將其放在項目的根目錄中。 另外,請務必查看今天的Laravel日志,該日志位於storage / logs / laravel-todays_date.txt,並在此處報告任何錯誤。
您應該將“host”更改為實際的服務器IP地址,而不是其他任何內容。 所以,擺脫套接字的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.