2015-06-14 31 views
1

我知道我以前見過這個問題,但還沒有看到答案已經能夠解決我的機器上的問題。優勝美地MAMP - 連接錯誤:SQLSTATE [HY000] [2002]沒有這樣的文件或目錄

我對PHP比較陌生,沒有Apache設置經驗。

我在最新版本的OS X(10.3.3)上使用了最新版本的MAMP(不是專業版)和所有默認設置。

當我嘗試通過PDO我收到以下錯誤連接:

無法連接到數據庫server.exception「PDOException」有消息「SQLSTATE [HY000] [2002]沒有這樣的文件或目錄」中/Applications/MAMP/htdocs/resources/config.php:7堆棧跟蹤:#0 /Applications/MAMP/htdocs/resources/config.php(7):PDO - > __ construct('mysql:host = loca ...' ,'USERNAME','PASSWORD')#1 /Applications/MAMP/htdocs/WEBSITE/index.php(2):include_once('/ Applications/M ...')#2 {main}

連接代碼是從凱文揚克的新手忍者書,修改爲適用於我的數據庫,用戶名等。

try 
{ 
    $pdo = new PDO('mysql:host=localhost;dbname=db', $DBUser,$DBPass); 
} 
catch (PDOException $e) 
{ 

    $error = 'Unable to connect to the database server.' . $e; 
    include 'error.html.php'; 
    exit(); 
} 

我試過localhost和127.0.0.1,並且無論如何都得到相同的錯誤。

我沒有看到控制檯中的任何東西可以幫助,但我可能不會尋找正確的東西。

任何幫助表示讚賞。謝謝

+0

嗨,是的,我看到活動監視器中運行mysqld。它在我的用戶名下。 –

+0

感謝您的幫助。我的方法是端口,但我沒有在代碼中包含端口號。我之前曾嘗試過使用它,但使用了Apache端口而不是MySQL端口。現在像魅力一樣工作。 –

回答

0

這可能發生,如果mysqld沒有運行(東西發生)。如果您有配置錯誤,也可能發生這種情況。

例如,在我安裝,我重現錯誤與此DSN:

mysql:unix_socket=/tmp/mysqle.sock;dbname=notifications;charset=utf8 

的配置呼籲/tmp/mysql.sock

檢查config來看看配置有什麼方法(端口或插座)和哪個(端口或插座)。如果您的DSN中有錯誤的端口或套接字,則會在問題中生成相同的錯誤報告。

相關問題