PHP3與PHP4共存執行個體_PHP教程

來源:互聯網
上載者:User
筆者一直都在php3環境下偵錯工具,後來換成php4後,就覺得問題不少。
 主要是一些原來在php3下運行正常的程式忽然發現在php4下出了好多毛病。
 而原來在php4下的程式到了php3中又說xx函數沒定義或者說某個函數文法不完整什麼的。於是忽然想起:可以不可以把兩者都裝上呢?也好測試程 序對兩者的相容性啊。
 

  筆者參考的php4/3的安裝和說明文檔中並沒有具體說明方法,大概只說 了兩者可以通過--enable-versioning指令以及DSO模式達到共存目的。那到底是如何個DSO呢?經過筆者n次反覆琢磨安裝和配置實踐,最終成功將 兩者都順利安裝到同一個web伺服器內,凡是.php3的檔案就由php3解析,而.php檔案就由php4解析。
 

實現的原理:

  要實現兩個不同版本的解析器共存工作,必須使用enable-versioning 指令,而應該在什麼時候使用呢?這個取決於哪個版本的解析器安裝在 後面,那麼這個指令就只需要在後面安裝的時候使用。就是說,如果你 是先裝php4(本例中就是這樣),後裝php3的,那麼配置php3的時候就要 添加enable-versioning指令。反過來也是一樣道理。
 

以下是安裝配置步驟:

1、考慮到筆者自己的系統中裝的是php4,採用的是static模式,因此如果要 採用DSO,那麼只能是php3採用了。但是enable-versioning到底是什麼時候 加呢?由於文檔中並沒清楚說明,筆者只能自己測試了。關於安裝apache的配置指令這裡就不多贅述了。
 

2、先編譯和安裝php4,採用靜態方式,主要指令如下:

./configure --with-mysql=/www/mysql --with-apache=../apache_1.3.12
> --enable-track-vars

3、注意:編譯和安裝好php4後,要先將apache安裝好,否則下一步以DSO模式 安裝和編譯php3的時候沒辦法apxs指令碼了。並且要注意!!!!的是,配置apache 的時候要加入--enable-shared=max指令(就是使用dso方式)然後再編譯並 安裝好apache。
 

4、最後,就配置和編譯php3。解壓後,運行:

./configure --with-mysql=/www/mysql --with-apxs=/www/httpd/bin/apxs
> --enable-versioning
make
make install

  一般情況下基本上沒問題。
 如果讀者使用的是php4rc1等比較老的php4的話也許在編譯的時候出現不去 編譯php4rc1目錄的內容而只編譯php3目錄內容,那麼一個解決方案是在編譯 好php4後將php4rc1的目錄改變名字,這樣就沒問題了。
 

  測試:一般只要順利通過編譯和安裝,那麼只需要修改好httpd.conf關於php3和 php4的設定項,然後重新啟動apache就可以了。
 

  在htdocs目錄下建立兩個檔案test.php 和test.php3,正常情況下調用test.php會顯示php4的內容而調用test.php3則顯示php3的內容。
 test.php/test.php3內容如下:

phpinfo();


http://www.bkjia.com/PHPjc/629889.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/629889.htmlTechArticle筆者一直都在php3環境下偵錯工具,後來換成php4後,就覺得問題不少。 主要是一些原來在php3下運行正常的程式忽然發現在php4下出了好多毛病...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.