話說日前在比對某個Hosting的環境是否符合某系統的需求時,發現該系統需要ImageMagick的extension才能執行,然後我就想在我的Windows XP的環境下把該extension掛起來,可惜的是,預設的 Thread Safety 版本的PECL中並沒有編好這個extension。
不過天無絕人之路,我發現在Non-Thread Safety (NTS) 的PECL中有發現,不過問題來了,我該如何設定 NTS 版本的 PHP 環境呢?
準備:
  1. 下載 Apache 與 mod_fcgid :可以在 Apache Lounge 中找到下載點,請注意不要拿官網的 Apache 去配合該 mod_fcgid,一定要用 Apache Lounge 中的 Apache 來裝,否則會掛不起來。
  2. 下載 Runtime:可以選擇 Visual C++ 2008 Redistributable Package 或是 .Net Framework 3.5,個人建議用 .Net Framework。
  3. 下載 NTS 版本的 PHP 與 PECL :在官網就有提供下載點,請注意要下載的是 Non-Thread Safety 的那兩個 zip 檔。
安裝:
  1. 先安裝Runtime,然後把 Apache、mod_fcgid、NTS 版的 PHP 和 PECL 解開。
  2. 假設 Apache 是放在 C:\Apache2 中,PHP 是放在 C:\PHP5 中。
  3. 把 mod_fcgid 中的 mod_fcgid.so 複製到 Apache 下的 modules 目錄裡 (C:\Apache2\modules)。
  4. 把 PECL 裡的所有檔案複製到 PHP 下的 ext 目錄裡 (C:\PHP5\ext)。
  5. 將 C:\PHP5 加入 PATH 環境變數中
修改設定:
假設網站放在 C:\WebSite 中,修改 C:\Apache2\conf\httpd.conf,加入以下設定

<IfModule userdir_module>
    UserDir C:/WebSite
</IfModule>

LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>
AddHandler fcgid-script .php
FCGIWrapper "C:/PHP5/php-cgi.exe -c C:/PHP5/" .php
</IfModule>

<Directory "C:/WebSite">
    DefaultInitEnv SystemRoot "C:/Windows"
    Options ExecCGI
    allow from all
</Directory>

修改完後開啟 DOS 視窗,進入 C:\Apache2\bin,執行

httpd -k install

註冊 Apache 的 Service即可
創作者介紹

失落的技術

HACGIS 發表在 痞客邦 PIXNET 留言(0) 人氣()