2010-02-26 34 views
0

我配置了PHP以使用Apache mod_fcgid。 PHP正在工作,但在配置更改後,我無法通過php連接到mysql。 如何解決這個問題? 任何想法,這可以暗示我,非常希望!在Windows Vista的Apache下使用FastCGI for PHP時,無法連接到mysql

要檢查我用下面的PHP代碼MySQL連接:通過mysql_error()是空的返回

error_reporting(E_ALL); 

$link = mysql_connect('127.0.0.1', 'root', 'password_here'); 
if (!$link) { 
    die('Could not connect. Error message: <' . mysql_error() . '>'); 
} 
echo 'Connected successfully'; 

錯誤消息。

我用下面的配置阿帕奇:

LoadModule fcgid_module modules/mod_fcgid.so 
<IfModule fcgid_module> 
AddHandler fcgid-script .fcgi .php 
DefaultInitEnv PHPRC "C:/Program Files/php5" 
DefaultInitEnv PHP_FCGI_MAX_REQUESTS  1000 
MaxRequestsPerProcess  1000 
MaxProcessCount 15 
IPCCommTimeout 120 
IdleTimeout 120 
FCGIWrapper "C:/PROGRA~1/php5/php-cgi.exe" .php 
AddType application/x-httpd-php .php 

DefaultInitEnv PATH "C:/PROGRA~1/MYSQL/MYSQLS~1.0/LIB/OPT;C:/PROGRA~1/APACHE~1/APACHE2.2/BIN;C:/WINDOWS/system32;C:/WINDOWS" 
</IfModule> 

PHP 5.3.1,阿帕奇/ 2.2.14(Win32的)時,MySQL 5.0.67社區-NT,Windows Vista家庭高級版的Service Pack 1。 我下載mod_fcgid的二進制文件從http://www.apachelounge.com/download/mods/mod_fcgid-2.2b-w32.zip

編輯:

我用phpinfo()比較配置。 「Loaded Configuration File」對於使用和不使用mod_fcgid都是一樣的。 mysql部分對於兩個配置都是相同的。當mod_fcgid打開時,我發現環境部分僅包含FastCGI相關變量(僅4項),而沒有mod_fcgid - 更多...

如果您需要更多信息,請讓我知道。

如果有人成功安裝了FastCGI for php,在Windows上使用Apache和mysql,可能會很好地瞭解您的體驗。

編輯:

我得到以下警告:

警告:mysql_connect()函數[function.mysql-連接]:在E:\ ... \ testphp \ mysql.php上線7

編輯

的MySQL錯誤日誌不包含上mysql_connect()任何錯誤。

+0

這可能是與MySQL的問題本身嘗試切換從FastCGI的回看如果它有效。 – DCC 2010-02-27 14:20:57

+0

@DCC它可以工作,如果我切換回來。 – sergtk 2010-02-27 15:27:19

+0

做一個error_reporting(E_ALL);在發佈的行之前查看錯誤日誌中是否有ANYTHING。 – DCC 2010-02-27 17:03:22

回答

0

您是否嘗試過運行php_info()以查看mysql模塊是否存在併爲您的CGI配置? ini配置可以在CGI和其他啓動方式上有所不同。

雅各

+0

我在文章中添加了「編輯」,其中描述了答案 – sergtk 2010-02-27 14:07:51

1

你肯定Warning: mysql_connect() [function.mysql-connect]: in E:\ ... \testphp\mysql.php on line 7
是完整的錯誤?因爲這很不尋常,所以應該說出現問題。
另外請檢查您的MySQL服務器的日誌文件的任何異常,並張貼在這裏。 mysql error log documentation.

+0

是的,這是執行頁面時的完整日誌,這就是爲什麼我很難意識到如何解決這個問題。 關於mysql日誌:mysql_connect()上沒有任何錯誤。 Offtop:我剛剛安裝了apache模塊 - 它的工作原理。但FastCGI對我來說更好,因爲我也安裝了使用perl的bugzilla – sergtk 2010-02-27 19:22:56

+0

在這裏發佈錯誤日誌http://pastebin.org/讓我看看它們。 – DCC 2010-02-27 19:41:30

+0

mysql日誌位於http://pastebin.org/98615。感謝你的協助!! – sergtk 2010-02-27 19:48:49

0

得到了同樣的問題,解決這樣說:

  1. 編輯的CGI版本的php.ini文件(六/etc/php5/cgi/php.ini)
  2. 添加以下行:extension = mysql。所以
  3. 重新啓動你的Apache(服務Apache2的重載和/etc/init.d/apache3重啓)

乾杯, 維爾託德