我使用PHP-FPM和MySQL運行nginx服務器。 PHP安裝了MySQL和MySQLi擴展,如phpinfo()
所確認。我上傳了在localhost上完美工作的腳本,當我嘗試加載頁面時遇到了500錯誤。我的nginx日誌顯示:無法取得mysqli
2012/01/19 22:01:27 [error] 3393#0: *14 FastCGI sent in stderr: "PHP Warning: mysqli::prepare(): Couldn't fetch mysqli in /var/www/mydomain.com/chat/index.php on line 12
PHP Fatal error: Call to a member function execute() on a non-object in /var/www/mydomain.com/chat/index.php on line 13" while reading response header from upstream, client: 82.32.181.151, server: mydomain.com, request: "GET /chat/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "mydomain.com"
我用mydomain.com
取代了我的實際域。在index.php 12行我有這個:
$stmt = $mysqli->prepare('SELECT r_id, name, room_pass, max_users FROM `rooms` ORDER BY name ASC');
Google'ing後,我發現了一些原因。一個是我過早地關閉了我的數據庫連接,不是這樣。另一個是我混合了OOP和MySQLi函數的調用,這也不是問題。另外,我的數據庫連接信息是正確的。
所以,我很難過。