System:
windows vista x86(*註1)
tomcat 6
php5.2.6
pecl5.2.6,actually 5.2.5(*註2)

Step:
1, download php-5.2.6-Win32.zip & pecl-5.2.6-Win32.zip & pecl-5.2.5-Win32.zip from http://www.php.net/.
=>之所以要下pecl-5.2.5-Win32.zip是因為5.2.6里面沒包php5Servlet.dll 跟 phpsrvlt.jar
=>如果php.net之後有修正pecl-5.2.5-Win32.zip,或是更新版本有包含上述的檔案,則不需要再下5.2.5版本。

2, unzip php-5.2.6-Win32.zip into a folder named such as "d:\php";

3, unzip pecl-5.2.6-Win32.zip into a new folder under "d:\php" named "pecl", i.e. "d:\php\pecl".
3.1,unzip php5Servlet.dll & phpsrvlt.jar from pecl-5.2.5-Win32.zip to the folder created in step 3.
=>比照step 1的敘述,如果有修正則step 3.1不需要再執行。

4, rename the file "php.ini.dist" in "d:\php" to "php.ini";

5, copy and rename "d:\php\pecl\php5servlet.dll" to "Tomcat6.0\bin\php5srvlt.dll", because in the packet phpsrvlt.jar the net/php/reflect.properties the configuration is library=php5srvlt, and the same with net/php/servlet.properties.
=>也可以逆向操作把phpservlet.jar裡面的兩個屬性檔案的內容改掉,重包jar。

6, copy "d:\php\pecl\phpsrvlt.jar" to "Tomcat6.0\lib";

7, modify "Tomcat\conf\web.xml"
add php servlet configuration:
------------------------------------------
    <servlet>
        <servlet-name>php</servlet-name>
        <servlet-class>net.php.servlet</servlet-class>
        <load-on-startup>3</load-on-startup>
    </servlet>
------------------------------------------
and add its servlet-map as following:

------------------------------------------   
    <servlet-mapping>
          <servlet-name>php</servlet-name>
           <url-pattern>*.php</url-pattern>
    </servlet-mapping>
------------------------------------------
=>我在這邊被vista 跟ultra edit聯手惡搞。vista的權限鎖的很緊。所以ultra edit要作存取跟產生備份檔案的動作全部都被擋下來。
=>但是雖然被擋了,ultra edit卻看不出被擋的跡象。一樣存檔,而且把檔案關掉之後,再從新開啟,是更改後的檔案內容。
=>然而從檔案管理員或是從資料夾進去,可以看到沒有產生bak檔案的同時,原始檔案的最後修改日期跟時間完全沒有變動。


8, set environment variables
PHP_HOME=d:\php
LD_LIBRARY_PATH=%PHP_HOME%;%PHP_HOME%/pecl
append %PHP_HOME%;;%PHP_HOME%/pecl; to the PATH variable.
=>我不知道LD_LIBRARY_PATH是否有必要要設定,因為別的參考版本似乎沒寫這個。我還是有設定。

9, restart Tomcat

10. prepare a test.php only with following single line
--------------------------------------
   <?php phpinfo(); ?>

--------------------------------------
then put it into "Tomcat\webapps\Root"
try to access the test.php in your browser.

*註1:文中已經有提到vista是怎麼搞我的......我當時百思不解為甚麼好像都認不出*.php的檔案。
*註2:文中也有提到了,如果找不到就找5.2.5吧。只要點選pecl下載頁面,再把網址改一下他的version就可以了。看到許多人在問說要怎麼取得,所以特別寫一下(這種偷雞摸狗的事情).....

我就卡註這兩步,另外就是請注意step5的地方,讓屬性檔案跟實際的dll檔案名稱相同,網路上很多人卡在這裡。也不知道為甚麼開發的人會取不同名字。

大部分複製貼上,中文心得自己寫 from here

全站熱搜

zkzk 發表在 痞客邦 留言(1) 人氣()