一千萬個為什麽

搜索

mysql_connect()導致頁面無法顯示(WAMP)

我目前有一個運行MySQL和PHP的網站,這一切都在運行。我已經嘗試安裝WAMPServer以便能夠在我自己的計算機上在網站上工作,但我一直在嘗試使網站正常工作時遇到問題。

HTML和PHP文件正常工作(轉到 http://localhost/index.php 等)。但有些頁面顯示“此網頁不可用”(在Chrome中)或“Internet Explorer無法顯示此網頁”,這導致我認為服務器存在錯誤,因為當頁面不存在時,它典型的情況是“哎呀!這個鏈接似乎已被破壞”或IE的標準404頁面。

我的站點中的每個頁面都有一個include()調用來設置一個類的實例來處理所有數據庫事務。此類在其構造函數中打開與數據庫的連接。我發現註釋掉構造函數的內容將允許頁面加載,盡管這可以理解地導致頁面中的錯誤。

這是包含文件的內容:

class dbAccess  {
    private $db;

    function __construct() {
        $this->db = mysql_connect("localhost","root","") or die ("Connection for database not found.");

        mysql_select_db("dbName", $this->db) or die ("Database not selected");
    }
    ...
}

作為這裏發生的事情的一個註釋。我試圖在我的網站上使用數據庫,而不是本地機器。 dbName,user和password的實際值在我將它們插入我的數據庫軟件(Navicat Lite)並在網站的最終版本上正常工作時起作用,因此我認為問題不在於這些值本身,而在於Apache或Wamp的一些設置。

這是我的Apache錯誤日誌的摘錄,用於登錄站點的一次嘗試:

[Wed Apr 14 15:32:54 2010] [notice] Parent: child process exited with status 255 -- Restarting.
[Wed Apr 14 15:32:54 2010] [notice] Apache/2.2.11 (Win32) PHP/5.3.0 configured -- resuming normal operations
[Wed Apr 14 15:32:54 2010] [notice] Server built: Dec 10 2008 00:10:06
[Wed Apr 14 15:32:54 2010] [notice] Parent: Created child process 1756
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Child process is running
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Acquired the start mutex.
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Starting 64 worker threads.
[Wed Apr 14 15:32:55 2010] [notice] Child 1756: Starting thread to listen on port 80.

我曾嘗試在線搜索解決方案,但一直無法找到任何幫助。如果您需要任何進一步的信息來幫助解決此問題,請隨時提出要求。

(還有一點需要註意,我在這臺計算機上甚至沒有Skype,所以我看不出它是一個問題,因為這個沖突似乎是任何Wamp問題的默認響應。)

[編輯:從錯誤日誌中刪除條目,因為它被解決為無關的問題] [編輯:通過我的主機文檔,我發現除了80和443(用於HTTP和HTTPS)之外的所有端口都被阻止,這意味著他們不允許外部連接,就像我在這裏嘗試做的那樣。我已將其更改為本地數據庫,但我仍然收到相同的錯誤。這個問題仍然存在。]

最佳答案

我也遇到過這個問題。我的解決方案是將mysql_connect方法從其類中移出並直接調用它。

轉載註明原文: mysql_connect()導致頁面無法顯示(WAMP)