一般情況是PHP.ini配置問題,根據下面的配置項再設置一次,然後重啟服務器,試試!
(1) 設置擴展路徑
查找extension_dir 有這麼一行
;extension_dir = "./"
在此行後面加入一行(注意是加入一行,不是加到後面)
extension_dir = "d:\php\ext"
其中d:\php是你安裝php的路徑。路徑不正確將無法加載dll
(2) 查找extension
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_mysql.dl
把上面3項前面的分號去掉,這樣IIS啟動時就可以加載這些dll了
(3) 設置會話保存路徑
查找session.save_path 有這麼一行
; session.save_path = "N;/path"
在此行後加入一行
session.save_path = "C:\Windows\Temp"
保存到你的臨時目錄下,這裡完全可以保存到Windows臨時目錄Temp下
(4) 還有比較值得注意的是short_open_tag 默認是Off的
也就是說php不能使用短標記如<? ?> 必須使用<?php ?>
由於短標記使用方便,並且很多程序也是用短短標記來寫,如discuz等
如果不把short_open_tag 改成On將出現的症狀將很難判斷是上面原因,這裡建議修改
查找
short_open_tag = Off
改為
short_open_tag = On
(5) 是否顯示錯誤display_errors
出於安全性考慮,display_errors 也默認為Off
就是說在調試時,如果php代碼有誤,就只出現一個空白頁。而不會顯示出錯原因和出錯行數。
這樣調試起來將非常不便,建議根據自己需要修改
查找
reGISter_globals = Off
改成
register_globals = On
(6) register_globals
出於安全性考慮它默認也是Off
當register_globals=Off的時候,下一個程序接收的時候應該用$_POST['user_name']和$_POST['user_pass'])
當register_globals=On的時候,下一個程序可以直接使用$user_name和$user_pass來接受值。