我剛剛開始在Laravel的一個新網站上工作,而且我在連接到MYSQL(版本5.5.25a)數據庫時遇到問題。 mysql服務器位於同一本地網絡上,但位於與Web服務器(OSX服務器)不同的計算機上。很長一段時間,這種設置在Codeigniter,YII,PHP等等中一直適用於我。使用MySQL PDO時的分段錯誤
我已經使用我的數據庫憑據設置了Laravel的/config/database.php
,但是隻要在使用Laravel的PDO數據庫類進行數據庫連接的頁面上,該站點就會超時。它給我在Chrome中的可怕的Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
錯誤。
如果我輸入的憑據不正確(錯誤的密碼/用戶名/數據庫名),Laravel給了我一個真正的MYSQL錯誤信息SQLSTATE[28000] [1045] Access denied for user...
,所以它好像它可以溝通服務器罰款。
如果我用mysqli
做一個快速和髒的數據庫調用,並用chromePHP記錄結果,一切看起來都正常,它從數據庫返回正確的行數,沒有超時,沒有問題。
$mysqli = new mysqli('192.168.1.178', 'username', 'password', 'dbname');
if ($mysqli->connect_error){
die ("Connect error: " . $mysqli->connect_error);
}
if ($result = $mysqli->query("SELECT username FROM user LIMIT 10")) {
ChromePhp::log($result->num_rows);
/* free result set */
$result->close();
}
UPDATE
我查了日誌,我從MySQL獲得什麼,但Apache日誌顯示以下錯誤,當它超時:
child pid 60418 exit signal Segmentation fault (11)
我也注意到phpinfo()表明PDO客戶端API版本設置爲mysqlnd 5.0.7-dev - 091210 - $Revision: 300533
,我想知道客戶端版本和MYSQL服務器版本之間的這種不匹配是否會導致問題?
爲什麼當我嘗試在mysql中使用PDO時,php/mysql會超時?
似乎我不是唯一有這個問題的人,它可能是特定於我正在使用的蘋果設置。 https://discussions.apple.com/thread/2141886?threadID=2141886&tstart=0 – Jeemusu
web服務器上的'phpinfo()'表明PDO客戶端API版本設置爲'mysqlnd 5.0.7-dev - 091210 - $修訂版:300533',我想知道這是否會造成問題? – Jeemusu