不過今天在弄一個CMS時還是出現了一個不可饒恕的錯誤,無法串連mysql,寫了一個測試mysql的php檔案如下:
| 代碼如下 |
複製代碼 |
<?php $link=mysql_connect('localhost','root','root'); if(!$link) echo "失敗!"; else echo "成功!"; mysql_close(); ?> |
結果報錯誤:Fatal error: Call to undefined function mysql_connect(),明顯沒法找到mysql相應的庫,百度了一大堆,又是什麼複製mysql的lib庫、又是複製到windows的system32目錄,過於複雜,其實正確的配置應該是在apache的httpd.conf檔案中加入下設定:
| 代碼如下 |
複製代碼 |
LoadModule php5_module d:/tools/php-5.3.1/php5apache2_2.dll AddType application/x-httpd-php .php PHPIniDir d:/tools/php-5.3.1 |
注意,最後一行是關鍵,告訴apache你的php設定檔在哪裡,不然你就得把php.ini檔案複製到windows的系統目錄下了。一般我們通過這裡配置就可以完成apache和php的結合。而在php.ini檔案中只需要修改如下幾個地方即可:
# 修改php的擴充庫目錄為你的實際路徑
| 代碼如下 |
複製代碼 |
| extension_dir = "D:/tools/php-5.3.1/ext" |
# 去掉前面的;
| 代碼如下 |
複製代碼 |
| extension=php_mysql.dll |
最後一個步驟就是在系統內容變數(注意是系統內容變數,而非使用者環境變數)path中加入你的PHP安裝路徑,在設定成功後,通過phpinfo()應該可以在Apache Environment段的path中可以看到你的PHP安裝目錄,否則就是環境變數沒有配置成功(注意,配置環境變數後重啟下apache)。
完成這些步驟後就可以正確串連資料庫了,不過前提是你的apache和php的整合是正常的,然後再考慮這個mysql配置,如果還不能夠達到效果,你可以質問我,呵呵!
總結,windows平台下apache和php(包括mysql)整合的正確配置步驟如下:
1、安裝apache,並保證apache可以單獨正常運行
2、將php(如5.2.17或5.3.1)的zip包解壓到一個目錄,比如D:php-5.3.1
3、在apache的httpd.conf檔案的最後加入如下段:
| 代碼如下 |
複製代碼 |
| # php5 supportLoadModule php5_module D:/php-5.3.1/php5apache2_2.dll |
| 代碼如下 |
複製代碼 |
| AddType application/x-httpd-php .php |
| 代碼如下 |
複製代碼 |
| PHPIniDir D:/php-5.3.14 |
、在作業系統的環境變數(必須是系統變數而非使用者變數)的path中加入D:/php-5.3.1路徑
5、將php安裝目錄下的php.ini-dist重新命名為php.ini,並修改如下內容:
# 設定php的擴充檔案目錄
| 代碼如下 |
複製代碼 |
| extension_dir = "D:/php-5.3.17/ext" |
# 開啟mysql擴充,去掉前面的;注釋
| 代碼如下 |
複製代碼 |
| extension=php_mysql.dll |