酷!學園

技術討論區 => Linux 討論版 => 主題作者是: aeolus0829 於 2012-05-30 10:27

主題: nginx: mysql error
作者: aeolus08292012-05-30 10:27
自架 joomla,使用 debain 6 squeezy + nginx + mysql + php + php_fcgi(scripts)

但是 mysql 的部份一直搞不定

後來把 nginx 換成 apache ,就輕鬆裝完了

現在回頭想把 apache 換成 nginx,但是 joomla 會出現這個訊息:
Database connection error (1): The MySQL adapter 'mysql' is not available.
phpmyadmin 出現的則是這個訊息:
phpMyAdmin -
無法讀取 mysql 模組,
請檢查 PHP 設定

但是 phpinfo() 看不出有什麼異常
(正在寫文章的現在出現異常了)
擷取 http://192.168.0.2/info.php 時網站遇到錯誤, 網站可能為了維護而關閉或設定不正確。

在 phpinfo() 還正常的狀況下,我有試過多加一行
echo mysql_connect ('localhost', '<yourwebuser>', '<yourwebuserpassword>');
只要加這一行,info.php 一定會錯誤
(還算合理吧.. nginx 都說找不到 mysql 模組了)


我想會不會是nginx 所讀取的 php.ini 和 apache 所讀取的 php.ini 不是同一個所造成的?
(updated: 試過讓 nginx 使用 apache 的 php.ini,重開 nginx 後結果仍然相同)
nginx 好像是用 /etc/php5/cgi/php.ini
apache 是用 /etc/apache2/php.ini

我試過用關鍵字找:
nginx mysql problem
The MySQL adapter 'mysql' is not available
沒有找到可用的訊息

可否請大家幫忙看有什麼解法

updated:
好像是 fastcgi 的問題
忘記在哪看到的,原來fastcgi 是用 socket 的方式做
 fastcgi_pass unix:/tmp/php.socket;

改成這樣就沒有問題...
 fastcgi_pass 127.0.0.1:9000;

 話雖如此,但不知道為什麼會這樣... = =a
應該不是權限問題
srwxrwxrwx 1 www-data www-data 0 May 30 09:49 /tmp/php.socket
主題: Re: nginx: mysql error
作者: Yamaka2012-05-30 12:00
自架 joomla,使用 debain 6 squeezy + nginx + mysql + php + php_fcgi(scripts)

但是 mysql 的部份一直搞不定

後來把 nginx 換成 apache ,就輕鬆裝完了

現在回頭想把 apache 換成 nginx,但是 joomla 會出現這個訊息:
Database connection error (1): The MySQL adapter 'mysql' is not available.
phpmyadmin 出現的則是這個訊息:
phpMyAdmin -
無法讀取 mysql 模組,
請檢查 PHP 設定

但是 phpinfo() 看不出有什麼異常
(正在寫文章的現在出現異常了)
擷取 http://192.168.0.2/info.php 時網站遇到錯誤, 網站可能為了維護而關閉或設定不正確。

在 phpinfo() 還正常的狀況下,我有試過多加一行
echo mysql_connect ('localhost', '<yourwebuser>', '<yourwebuserpassword>');
只要加這一行,info.php 一定會錯誤
(還算合理吧.. nginx 都說找不到 mysql 模組了)


我想會不會是nginx 所讀取的 php.ini 和 apache 所讀取的 php.ini 不是同一個所造成的?
(updated: 試過讓 nginx 使用 apache 的 php.ini,重開 nginx 後結果仍然相同)
nginx 好像是用 /etc/php5/cgi/php.ini
apache 是用 /etc/apache2/php.ini

我試過用關鍵字找:
nginx mysql problem
The MySQL adapter 'mysql' is not available
沒有找到可用的訊息

可否請大家幫忙看有什麼解法

updated:
好像是 fastcgi 的問題
忘記在哪看到的,原來fastcgi 是用 socket 的方式做
 fastcgi_pass unix:/tmp/php.socket;

改成這樣就沒有問題...
 fastcgi_pass 127.0.0.1:9000;

 話雖如此,但不知道為什麼會這樣... = =a
應該不是權限問題
srwxrwxrwx 1 www-data www-data 0 May 30 09:49 /tmp/php.socket

1. mysql 是否有啟動。
2. 使用 apache 時是否能正常開 phpMyAdmin。
3. 使用 nginx 時 phpinfo() 是否有出現 mysql 模組的資訊
4.......
主題: Re: nginx: mysql error
作者: aeolus08292012-05-30 13:19
1. mysql 是否有啟動。
2. 使用 apache 時是否能正常開 phpMyAdmin。
3. 使用 nginx 時 phpinfo() 是否有出現 mysql 模組的資訊
4.......
1. 正常啟動,也重啟過
2. 可以,是正常的
3. 有看到 /etc/php5/conf.d/mysqli.ini, /etc/php5/conf.d/mysql.ini 這樣算嗎?
主題: Re: nginx: mysql error
作者: Yamaka2012-05-30 13:28
1. mysql 是否有啟動。
2. 使用 apache 時是否能正常開 phpMyAdmin。
3. 使用 nginx 時 phpinfo() 是否有出現 mysql 模組的資訊
4.......
1. 正常啟動,也重啟過
2. 可以,是正常的
3. 有看到 /etc/php5/conf.d/mysqli.ini, /etc/php5/conf.d/mysql.ini 這樣算嗎?

mysqlx.ini這兩個只是設定檔
要在瀏覽 phpinfo() 的頁面找一下
看看有沒有 mysql 模組的資訊
類似下面這張圖的資訊

http://static.howtoforge.com/images/nginx_php5_mysql5_ubuntu8.10/3.png (http://static.howtoforge.com/images/nginx_php5_mysql5_ubuntu8.10/3.png)
主題: Re: nginx: mysql error
作者: aeolus08292012-05-30 13:32
那個連結沒辦法點,顯示 403 forbidden

另外~我的問題其實已經解決了 (如第一篇最後所述)

我不懂的是為什麼 fcgi 用 socket 的方式做會造成 mysql 模組連不上 (也許是我 fcgi 根本就連不上 php ?)