2015-12-14 104 views
0

我運行一個遊戲論壇和關聯的遊戲服務器。在過去的兩年裏,用戶在論壇上註冊,然後將他們的名字/密碼傳遞給我的遊戲服務器數據庫。一旦他們完成註冊,另一個電話會在遊戲數據庫中翻轉一個標誌,讓他們玩。PHP新PDO連接問題

在某個時候,這個過程停止工作,所有新的論壇帳戶(phpbb論壇)根本就沒有到我的遊戲SQL服務器。我在我的遊戲服務器上打開了SQL監視器,並且沒有使用已傳遞的憑據進行連接。創建新帳戶時,我也不會列出任何錯誤。代碼如下:

// Create game account 

try { 
$acctConnection = new PDO('mysql:dbname=DB_Redacted;host=x.x.x.x;port=33306;charset=utf8','DB_forum','PasswordHere', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 
$acctStmt = $acctConnection->prepare('CALL forum_link(?,?)'); 
$acctStmt->bindParam(1, $newname); 
$acctStmt->bindParam(2, $plainpassword); 
$acctStmt->execute(); 
$acctConnection = NULL; 
} catch (PDOException $e) { 
echo 'Creating game account failed'; 
} 

forum_link是用於將值插入遊戲數據庫的存儲過程。該帳戶還設置爲僅接受來自我的專用IP論壇主機的連接,該IP主機沒有更改IP,並且也能夠運行列出的存儲過程。遊戲服務器正在監聽列出的端口,我甚至在沒有運行防火牆的情況下進行測試。我對此很新,因爲這個過程是由另一個開發人員設置的,他們不再在這個項目上工作,但看起來很長一段時間工作似乎沒有失敗。任何想法可能是錯誤的和/或我如何獲得更強大的日誌來捕捉問題可能是什麼?

+1

看看錯誤日誌。 –

+0

不幸的是,沒有記錄。我正在考慮抽出這部分內容並測試連接性,但我擔心這種記錄不正確,或者因爲任何原因沒有顯示。 – Hollyw00d

+1

*除非設置您的服務器的人是bozo,否則一切*都會被記錄下來。 –

回答

0

這最終導致PDO功能由於Java服務器上的Java損壞而損壞/丟失。這是由於託管問題。我通過選擇要在CPANEL中使用的新的(更新的)Java版本來重置該版本,該版本重新安裝了PDO模塊,並且與其他SQL服務器的連接沒有任何問題。我需要添加額外的錯誤日誌記錄到我的PDO語句中,將其視爲問題,我發現如何通過其他地方的webdevs來執行此操作。