2014-03-02 53 views
0

我在WAMP本地開發。這裏是我的設置:Apache版本2.4.4,PHP版本5.4.12和MySQL版本5.6.12。 我住的設置是與這些設置共享的託管服務:Apache的版本2.2.26,PHP版本,28年3月5日和MySQL版本72年1月5日-CLLPHP/MySQL - 腳本問題 - 開發WAMP,PHP 5.4.12,共享主機,PHP 5.3.28

這裏是我的數據庫訪問腳本:

$host = "localhost"; 
$dbname = "******"; 
$user = "*****"; 
$pass = "*****"; 

try { 
    $dbh = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass); 
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 
} 
catch(PDOException $e) 
    { 
    echo "Une erreur est survenue, désolé. Revenez plus tard."; 
    file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND); 
    } 
?> 

我用帶有MySQL查詢的不同腳本將這個腳本與require_once聯繫起來。

PHP版本的區別有問題嗎? 我在連接腳本中丟失了什麼?

在網站首次加載時,我運行PHP腳本查看數據庫並提取一些數據以填充前端。它不起作用,我看不到錯誤信息。 (我沒有從prod服務器訪問PHP日誌) 雖然如果我填寫表單,但數據在第一次嘗試時會進入數據庫,但如果我第二次執行該操作,我的JS腳本會告訴我數據庫無法訪問。

我迷失在這裏試圖找出問題所在。

任何幫助將不勝感激。謝謝。

+0

你得到了什麼確切的錯誤? – Zarathuztra

+0

這是我的問題,我沒有收到任何錯誤消息。 JS錯誤消息只是說數據庫連接沒有發生。沒有提到導致錯誤的原因或原因。 – TTC1

回答

1

您應該在您的服務器上查看PDOErrors.txt中的真實錯誤消息。

PHP版本之間的區別可能不是問題的原因。但是,您應該在計算機上使用相同的版本,以避免在部署時出現意外。可以在您的計算機上安裝多個版本的PHP,並使用Wamp在它們之間切換。看看Wamp homepage的底部並點擊「下載PHP插件」來獲取它們。你可以爲Apache和MySQL做同樣的事情。

+0

感謝您在WAMP中安裝這些版本的想法。我不知道我能做到這一點。至於PDOerrors.txt,那裏沒有任何記錄。就像這個過程甚至沒有進入數據庫連接一樣。我剛剛注意到的一些事情,我使用Fiddler來監視我的互聯網連接,當它嘗試播放我的一個腳本文件時出現504錯誤。網關timout錯誤?我沒有從不同的域加載文件。是什麼賦予了? – TTC1

+0

不知道發生了什麼,但它現在正在工作。我的JS腳本中有一些邏輯錯誤,但我不明白爲什麼最初有這個錯誤。看起來服務器花費了一些時間來吸收代碼。我知道,這不符合邏輯,但這就是它的樣子。它在幾次嘗試後開始工作。哦,那些我不能包裹我的頭腦的奧祕之一。感謝您盡力幫助。 – TTC1