// you’re reading...

PHP

PHP load mysql.dll 的問題

這也算是在 Windows 上面安裝 ApachePHP 的經典問題之一,通常這個錯誤能在 Apache 的 error.log 裡,可以發現些端倪。現在就來紀錄一下解決的方法,避免以後遇到同樣的問題又掛在那邊。

在使用 Package 安裝時,只要觀看 install.txt 這個檔案,就可以發現以下這段話:

php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll(bundled)
php_mysqli.dll MySQLi functions PHP >= 5.0.0, requires libmysql.dll(libmysqli.dll in PHP <= 5.0.2) (bundled)

用那個就看你的 MySQL 版本,基本上上面是在說,當你要使用上面兩個 functions 時,必須讓系統讀取到 libmysql.dll 這個檔,這個檔講白話點,就是他們的命脈,沒有了它,就無法正常運作。

至於要怎麼處理呢?其實很簡單,目前有兩種解決方式,現在先來介紹第一種:

1. 修改 php.ini:

1
2
3
4
5
6
7
8
9
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; Windows: "\path1;\path2"
; 這邊修改成你安裝 php 的位置
include_path = ".;C:\Server\php"
; Directory in which the loadable extensions (modules) reside.
; 這邊則修改成你 ext 實際的確切位置
extension_dir = "C:\server\php\ext"

這個設定主要是告訴系統可以在哪讀到 libmysql.dll 這個檔案。

2. 丟到 system32 裡
相對於第一個方法,這個做法倒是顯得較為乾淨俐落些。但要注意的是當你移除了 PHP 時,記得要把 system32 裡的 libmysql.dll 刪除掉,以免積了一些垃圾檔案到 system32 裡。為什麼丟到這裡就解決了呢?原因很簡單,system32 是 Windows 系統預設就會讀取的資料夾,所以把它放到這就一定是妥當低!

希望這個紀錄能幫助有同樣問題的人了解為什麼會發生這個狀況,且要怎樣才能快速排除問題。

Discussion

No comments for “PHP load mysql.dll 的問題”

Post a comment