配置IIS,Apache,PHP過程中遇到的一些問題

王明輝發表於2014-05-16
下載了eclipse的最新版本,並且新增了PHP外掛。為了支援多語言,決定採用UTF-8編碼。但是在開發的過程中,發現程式碼的自動提示幫助資訊顯示的是亂碼,PHP原始檔及註釋,均正常。在網上查了很多資料,有設定“General->Workspace編碼的”、有設定“General->Conent Type->Text編碼的”…,總之,找到的各種辦法全部試了,都不好用。
後來無意中發現設定“eclipse目錄下eclipse.ini檔案”,在檔案結尾新增“-Dfile.encoding=UTF-8”,之後重新啟動eclipse,發現提示終於正常了。困擾這麼長時間的問題終於解決。

安裝apache服務時,80埠被iis佔用,windows 8,IIS8,用iisreset -stop停止IIS服務,如果機器上安裝了SQl Server服務,也要把SQL Server Reporting Services (MSSQLSERVER)這個服務停掉

【關於64位apache的下載】
官網上沒有64版,是愛好者們根據原始碼開發的,謝謝他們的無償付出!
話說免費開源的東西就是這點不好,沒有質量的保證,你投訴無門。
http://www.apachelounge.com/download/,這裡可以下載apache win64版本

PHP 在IIS中配置完畢後瀏覽首頁,報【對找不到的檔案啟用監視】錯誤,php的錯誤日誌中無記錄。把此網站在IIS中的程式池改為“整合”,再訪問,開始報錯,且記入日誌。

XDebug
windows 8 64,php5.4.28,要使用32位的PHP 5.4 VC9 (32 bit),xdebug.org/files/php_xdebug-2.2.5-5.4-vc9-nts.dll才能載入成功。

ThinkPHP中,如果define('APP_NAME','/');這樣,就會這樣:
http://localhost:50/index.php/Index/://index

斜槓位置要麼留空,要麼寫的專案名稱,要麼刪除這一條,總之不能寫成“/”。

 感謝http://www.liuyixi.com/2009/12/30/guanyuthinkphpzhongthis-redirectdeyiwen/給我了靈感,讓我有據可查

EPP3真夠慢的,經常卡死,失去響應,eclipse也一樣,是不是基於eclipse的IDE都這樣

 

當你的Apache2.4無法無論如何也無法啟動,總是報the requested operation has failed這個錯的時候,不妨試把這個服務重新安裝一下,httpd -k uninstall -n "Apache2.4",然後httpd -k install -n "Apache2.4"

 

 

 

 一定要注意PHP和Apache的版本對應關係

PHP分為4個版本,64/32,ts/nts兩兩組合

如果是在IIS下跑PHP,就要下載NTS版PHP,目錄裡面沒有php5apache2_4.dll這個檔案

如果是在Apache下跑PHP,就下載TS版,目錄裡自帶了php5apache2_4.dll,32位版PHP就是32位版dll,64位版就是64位版dll,不必到處找。

64位版Apache官方沒有公佈,http://www.apachelounge.com這裡有下載

如果版本對應關係不正確,很可能報“Cannot load C:/php-5.4.28-Win32-VC9-x86-ts/php5apache2_2.dll into server: The Apache service named \xb2\xbb\xca\xc7\xd3\xd0\xd0\xa7\xb5\xc4 Win32 \xd3\xa6\xd3\xc3\xb3\xcc\xd0\xf2\xa1\xa3”這個錯,未必能在apache的錯誤日誌裡找到,到Windows事件中可以檢視。

 

使用cmd操作apache時,要記得以管理員身份執行

 

PHP.ini的修改

必須修改的項:

  • extension_dir=“你的ext目錄的絕對路徑”,這裡預設是註釋掉的,如果不改會報各種錯,特別是不支援mysql
  • Dynamic Extensions節下的各種擴充套件,需要什麼就放出來什麼
  • date.timezone="PRC" 就是The People's Republic of China,中華人民共和國,我曾經很習慣地寫成了RPC

 

 

 

The Apache service named reported the following error:
>>> Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration .

原因和解決方案:

之前是這樣的:

LoadModule php7_module D:/phpx64/php7apache2_4.dll
PHPIniDir "D:\php5.6.25"

改為:

LoadModule php5_module D:/php5.6.25/php5apache2_4.dll
PHPIniDir "D:\php5.6.25"

因為啟用了D:\php5.6.25之後,D:\phpx64目錄的PHP已經無效

 

相關文章