首頁>技術>

背景

隨著MAC作業系統和各種軟體的不斷升級,在系統上搭建APACHE2.4+PHP5.2的環境變得異常困難,筆者嘗試過透過brew install [email protected]的環境,並利用brew-php-swithcer或者brew link php 5.6來和PHP7做切換,但實際使用中,PHP5依賴一些軟體包,比如openssl比較老,導致出現各種問題,並不能很好的解決在一個電腦上,執行兩套PHP開發環境的需求。基於此,筆者只能另闢蹊徑,透過Dokcer來解決這個問題。

執行環境macOS Big Sur v11.1docker3.1(可以透過brew install docker安裝,也可以透過官方下載img安裝)步驟

1、官網查詢一下php可以使用的映象(別人做好上傳的),直接搜比如php5.2之類的

2、筆者找的是flandera/php5.2-apache這個,自帶apache,由於缺乏文件,把映象拉下來,跑一下進去看看

進去後,研究下結構,結果如下:

apache的conf檔案目錄在/etc/conf/apache2/apache2.conf,此外這個conf檔案include了一個空的httpd.conf檔案網站根目錄在/var/www下

3、解決思路

編制一個dockerfile檔案,將httpd.conf檔案打包成新的映象將程式透過docker命令對映到容器中

4、編制conf檔案

Alias /webapp "/var/webapp/www"<Directory "/var/webapp/www">  Options None  AllowOverride None  Order allow,deny  Allow from all</Directory>

5、編制dockerfile(參考,名稱和目錄根據實際修改)

FROM flandera/php5.2-apache:latestLABEL maintainer="author" EXPOSE 80RUN mkdir -p /var/webappCOPY httpd.conf /etc/apache2/httpd.conf

6、重新編譯並執行

docker build -t company-php:5.2 .docker run -d -p 9987:80 -v /Users/divsun/webapp:/var/webapp --name=php company-php:5.2

執行命令時候,httpd.conf需要和Dockerfile在同一個目錄,如果conf檔案有改動,需要重新打包

5、mac電腦打http://localhost:9987/webapp看是不是正常了

17
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • google瀏覽器使用k8s Dashboard UI