php無法加載動態(tài)庫的解決辦法:1、將PHP的集成包里的“l(fā)ibmySQL.dll”復制到system32目錄下;2、將PHP的解壓目錄添加到PATH里;3、在Apache的配置文件用loadfile去加載一些動態(tài)鏈接庫。
成都創(chuàng)新互聯(lián)公司是一家集網站建設,金灣企業(yè)網站建設,金灣品牌網站建設,網站定制,金灣網站建設報價,網絡營銷,網絡優(yōu)化,金灣網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
php加載動態(tài)庫失敗
PHP的集成包里帶了很多的動態(tài)鏈接庫,但當我們按照說明配置好后,運行phpinfo()卻發(fā)現(xiàn)好多個模板并沒有加載。僅管我們在php.ini中已經將對應鏈接庫前面的注釋(;)去掉了。
本人在配置WAMP時發(fā)現(xiàn)一個很有趣的事情:有時mysql模塊能加載,有時又不能加載。后經仔細研究發(fā)現(xiàn),能加載時mysql用的都是安裝文件,不能加載時mysql用的大多是壓縮包。兩都會有什么區(qū)別呢?
區(qū)別就在于安裝包在安裝里可以選擇將mysql的安裝目錄(./MySQL*.*/bin)添加到PATH里。
這樣又會有什么效果呢?原來在這個目錄下有個和PHP的集成包里同名的文件--libmySQL.dll。
上網搜索發(fā)現(xiàn)還有其它的解決辦法:
將PHP的集成包里的libmySQL.dll復制到system32目錄下--該目錄通??隙ㄊ窃赑ATH里的;
還有一個不需要改PATH的辦法,就是在Apache的配置文件里加一句:[loadfile X:/*/libmySQL.dll]要用絕對路徑。
問題的根源似乎已經找到了,其它的模塊是不是也可以這樣解決呢。
答案是肯定的,可以。
最省事的方法是將PHP的解壓目錄(通常包含libmysql.dll、php.exe等)添加到PATH里;
然后重啟系統(tǒng)--只重啟apache是不行的,你在phpinfo()里查看的“Apache Environment”的PATH參數(shù)時就會發(fā)現(xiàn),“PATH ”這一項根本沒有變,如能不重啟系統(tǒng)就更改應用,本人目前還不知道,誰知道,請告訴我。
還有個不用改PATH也就不用重啟系統(tǒng)系統(tǒng)的辦法就是在Apache的配置文件用loadfile去加載一些動態(tài)鏈接庫。
本人經測試將我已知的模塊及其要加載的動態(tài)鏈接庫列出來:
PHP模塊 運行時要加載的動態(tài)鏈接庫 ------------------------------------------------------------ php_fdf.dll ->fdftk.dll php_interbase.dll ->gds32.dll php_pdo_firebird.dll ->gds32.dll php_curl.dll ->ssleay32.dll php_ldap.dll ->ssleay32.dll php_openssl.dll ->ssleay32.dll php_mcrypt.dll ->libmcrypt.dll php_mhash.dll ->libmhash.dll php_msql.dll ->msql.dll php_mssql.dll ->ntwdblib.dll php_pdo_mssql.dll ->ntwdblib.dll php_mysql.dll ->libmysql.dll php_mysqli.dll ->libmysql.dll php_pdo_mysql.dll ->libmysql.dll
所要加載的動態(tài)鏈接庫全部位于PHP的集成的包解壓目錄(通常包含libmysql.dll、php.exe等)。該目錄還有三個文件:fribidi.dll、libeay32.dll和libswish-e.dll,本人目前尚不知道它們有何用處。至于其中每個模塊的名稱和作用,本人就不班門弄斧了。
推薦:《PHP教程》
注:該方法適用于php5.1.X、php5.2.X系列,php.4X未經測試。
新聞標題:php無法加載動態(tài)庫怎么辦
網頁URL:http://weahome.cn/article/cjigge.html