Windows系統環境下一個Apache運行多個PHP版本


我個人機器上環境是基於Apache2.2運行的PHP5.2/4,如你想部署其他版本的PHP或在更多的版本之間切換,同理操作步驟是一致的。

依本人環境為例,機器上已經安裝了PHP5.2版本, 所以首先重新創建5.2的服務:

  • 如果你機器上已經運行了Web Server服務,可先暫停並設置為手動執行(因后續我們幾乎不再默認運行此服務了)。
  • 編輯httpd.conf配置文件,加入以下形式的內容

    <ifdefine php5.2>
    # 提供apache調用的php5.2版本dll路徑
    LoadModule php5_module "e:/AppServ\php5\php5apache2_2.dll"
    # 你的php5.2版本php.ini路徑
    PHPIniDir "C:/Windows/php.ini"
    </ifdefine>

  • 打開cmd命令行,切換到你的Apache bin目錄,執行如下命令
    httpd.exe -k install -n Apache_php5.2 -D php5.2
  • 現在你可以重啟新的名為Apache_php5.2服務,在PHP中打印phpinfo()來測試運行是否正常

上述過程無誤的話,可以繼續進行PHP5.4版本的配置了,你會感覺有種熟悉的感覺了

  • 下載PHP5.4的二進制版本,並解壓到你希望放置的目錄(我機器上路徑為:E:/AppServ/php-5.4.37)
  • 再次編輯httpd.conf配置文件,加入以下形式的內容
    <ifdefine php5.4>
    LoadModule php5_module "E:/AppServ/php-5.4.37/php5apache2_2.dll"
    # php5.4的ini路徑(注意php5.4中將默認用php.ini-production/development兩個文件存在,個人已重命名)
    PHPIniDir "E:/AppServ/php-5.4.37/php.ini"
    </ifdefine>
  • 打開cmd命令行,創建php5.4服務的apache服務
    httpd.exe -k install -n Apache_php5.4 -D php5.4

     

經過這樣的配置,我們就實現了在不同PHP版本之間的切換。為了日常的操作方便,我們還可以編寫Bat文件來快速自動切換。

@echo off
@sc query apache_php5.4 | find /i "running" > null
if %ERRORLEVEL% == 0 (
    net stop apache_php5.4
    net start apache_php2.2
) else (
    net stop apache_php2.2
    net start apache_php5.4
)
pause

Now it's ending! 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM