PHP4和PHP5共存於一系統_PHP教程

來源:互聯網
上載者:User
PHP4和PHP5共存於一系統

在其它地方看到的一篇文章,老了一點,這兩天也正想找個時間來用IIS+APACHE使用不同連接埠來做兩個PHP共存....到時再發出來'罷..看原文吧

-------------------------------------------------------------
好處不多說了,:D 壞處嘛...是CGI方式的(引用官方原文:we consider installing PHP like this suicidal.--esayr注:E文不好?呵,最後一個是自殺的意思)
廢話少說,直接看方法:

一,本文涉及軟體極其版本:
Windows 2000 Professional/XP
Apache 1.3.28 FOR WIN
Microsoft Internet Server Information(IIS6)
PHP 4.3.3(4.3.5), PHP 5.0.0 beta(5.0.0RC1)
MySQL 3.23.57(3.23.58)


二,大致步驟:(二,三任選)

1.分別安裝各版本的PHP

2.安裝APACHE,設定APACHE 和 PHP

3.安裝IIS,並在IIS中設定PHP各版本[注1]

4.安裝MYSQL


三,安裝前準備:
將所須程式COPY至各檔案夾,本文按照以下目錄結構進行,你可以根據需要自行修改^^:


C:/httpd/Apache
C:/httpd/MySQL
C:/httpd/PHP4
C:/httpd/PHP5
C:/httpd/php-includes
C:/httpd/phpMyAdmin
C:/httpd/tmp
C:/httpd/www

到C:/WINNT/system32/drivers/etc(XP是C:/WINDOWS/system32/drivers/etc)檔案夾下,找到hosts檔案(沒有?! @_@ 那麼.... :D ),在底下增加

127.0.0.1 php4 # Waiter PHP 4
127.0.0.1 php5 # Waiter PHP 5


吼吼...如果你懂~~自己修改其他名字吧 8D 我們繼續...
儲存檔案...


四,安裝各版本PHP
假設你已經下載你需要的各版本PHP...(哪下載?? :P 自己找吧...)
這裡以4.3.3和5.0.0-beta為例...(4.3.5vs5.0.0RC1我也試了.如果和你環境不一樣不要怪我 :( ,大同小異,自己琢磨吧) ;)

㈠安裝PHP4.3.3
①解壓縮下載檔案(:) 地球人都知道)
②將PHP4.3.3中的php.exe, php.ini-recommended, phpêmbed.lib, php4ts.dll, php4ts.lib, dll/*.* 和 extensions/*.* 拷貝到C:/httpd/PHP4
③修改php.ini-recommended:
extension_dir = "C:/httpd/PHP4/extensions/"
cgi.force_redirect = 0
儲存為php.ini(就在C:/httpd/PHP4/下)

㈡安裝PHP5.0.0BETA
①解壓縮...
②將php.exe, php.ini-recommended, phpêmbed.lib, php4ts.dll, php4ts.lib, dll/*.* 和 extensions/*.*拷貝至C:httpdPHP5
如果是PHP5.0.0RC1,那麼沒有dll和extensions目錄,只有ext--就是extensions拉
如果...你是mysql的忠實使用者,別忘了把libmysql.dll也拷過去[注2].
③修改php.ini-recommended:
extension_dir = "C:/httpd/PHP5/extensions/"
cgi.force_redirect = 0
如果是PHP4.0.0RC1,那麼extension_dir = "C:/httpd/PHP5/ext/"
儲存為php.ini(就在C:/httpd/PHP5/下)


五,配置APACHE
開啟C:/httpd/Apache/conf/httpd.conf,在底下追加一些設定:


ServerAdmin test@php433
ServerName php4
ServerAlias www
DocumentRoot "C:/httpd/www"

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

ScriptAlias /php4/ "C:/httpd/php4/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php4/php.exe"



ServerAdmin test@php500
ServerName php5
DocumentRoot "C:/httpd/www"

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

ScriptAlias /php5/ "C:/httpd/php5/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php5/php-cgi.exe"

六,關於PHP5和MYSQL
MYSQL的安裝,我就不多說了,自己下了裝吧...(跳過這段沒意見吧? )
你可以通過修改php.ini,來載入MYSQL... (難過...)

七,測試...
啟動APACHE(如果httpd.conf配置有錯,會有出錯提示...),然後地址欄輸入http://php4和http://php5就分別啟動PHP4和PHP5咯...爽嗎? :D :D :D [注3]
相信對廣大PHP程式員,以及想學PHP5又不想放棄PHP4的同志來說,這會是個不錯的方法.ENJOY IT!

總結一下:
其實思路很簡單,利用CGI方式實現PHP4和PHP5的共存.我找了很多資料,這個算最簡單最實用了.不過只適合大家本機玩,千萬別在伺服器上這麼搞...否則~後果自負...別找我

如果你按上面方法有問題,可以嘗試其他途徑,這裡羅列一些國外的成功案例:
http://wiki.coggeshall.org/37.html
http://www.circle.ch/blog/p1387.html
http://www.schlitt.info/applications/blog/..._5_prallel.html

有興趣的可以繼續學習下...


繼續關於本方案的一點重要補充:

PHP4和PHP5共存,存在一個php.ini衝突的問題...
大家都知道,一般做法是需要將php.ini複製到系統檔案夾下(C:WinNT or C:Windows).如果同時安裝多版本,勢必會造成衝突...

其實,如果大家仔細閱讀PHP安裝文檔,會有如下一段文字:
Does Where C I cut to could the php.ini? The php.ini files is only searched in two places: 1) in your Apache installation directory (e.g. c:apacheapache) 2) in your %SYSTEMROOT% directory.

而我們正是使用的第一種方式...(是不是官方早料到有這種情況??GOD KNOWS...)

我在上述環境下測試成功了...如果你遇到困難可以留言或到討論區一起討論。

結語:
偶不太會寫教程之類的東東...自己看了懂,卻不是很容易讓別人理解,大家只好忍讓了.
雖然過程比較簡單,不過費了我不少時間(有兩個地方...我找的資料有誤,把我害慘了),這個大A作證拉...( :D 大A睡了一覺起來上廁所,我還在...此處少兒不宜,刪去500字)

PHP5時代越來越近,趕緊深入瞭解去吧...

-------------------------------------------------------------------------
[注1]:
本來想寫FOR IIS的...可實在不想在自己機器上裝個沒用的東西(對我而言 :( ),so...標題列了,卻放棄寫了...對部分看客說聲抱歉...

[注2]:
這裡說點題外話:在PHP5.0.0RC1中,不知道大家看到ext下有個mysqli.dll,以及php.exe同層目錄下有個libmysqli.dll麼?奇怪這是幹嘛的?其實這是官方針對MYSQL的新版(4.1.0好象是...吧)的一個升級,對於高版本MYSQL玩家可以試試...據說支援MYSQL一些新特性哦

[注3]:
在啟動APACHE時,如果看到什麼"overlap on port 80"...不要著急,在httpd.conf中,把NameVirtualHost *:80前的注釋去了即可...(這個地方難了我好長時間...只怪APACHE設定不熟悉.不過這次算好好把APACHE的設定看了遍,還是有收穫)


相關文章
• apache 2.2.2 + PHP5.1.4 不能啟動並執行解決辦法. - 05-11 02:07 pm - 點擊: 12651
• PHP5.1.3發布 - 05-03 09:41 pm - 點擊: 1860
• PHP5學習筆記 -- Classes and Objects in PHP5 - 09-05 02:13 pm - 點擊: 5776
• 從PHP4.3.*升級到PHP5.0.0 - 08-09 01:49 am - 點擊: 5136
• php4和php5的配置異同比較 - 08-01 06:25 pm - 點擊: 4260
• redhat 9下配置APACHE2.0.50 +PHP5+MYSQL4.0.20+GD庫 - 07-29 02:00 am - 點擊: 13784
• php5 for windows 安裝詳解 - 07-14 10:33 pm - 點擊: 13370
• PHP5正式版昨日發行--附PHP研究手冊 - 07-14 10:04 pm - 點擊: 6069
• 為物件導向而生的PHP5 之二 - 06-25 07:13 pm - 點擊: 3749
• 為物件導向而生的PHP5 (1) - 06-25 07:11 pm - 點擊: 4488

http://www.bkjia.com/PHPjc/316906.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/316906.htmlTechArticlePHP4和PHP5共存於一系統 在其它地方看到的一篇文章,老了一點,這兩天也正想找個時間來用IIS+APACHE使用不同連接埠來做兩個PHP共存....到時再發出...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.