docker安裝php專案的方法:1、下載所需的映像檔;2、在nginx/conf目錄下準備nginx的設定檔php.conf;3、建立docker-compose.yml編排檔案; 4、安裝擴充功能即可。
本文操作環境:macOS10.15系統,PHP5.6版,macbook pro 2020電腦。
docker怎麼安裝php專案?
使用Docker快速建立PHP開發環境
最近有個同事找過來,希望我對在很早之前寫的一個PHP網站上增加一些功能,當時開發使用xampp
建置的本機開發環境,但是現在我的筆記型電腦已經更新,沒有當時的開發環境。本著盡量不往電腦上裝無用軟體的原則,想到能不能用Docker來建構本地開發環境,因此本文介紹瞭如何基於Docker來快速構建本地PHP
開發環境,供有需要的同學參考使用。
目錄
本文基於
5.6-fpm-alpine3.8
以及ngingx
建置Mac 下的PHP開發環境。
先下載所需的映像檔
$ docker pull php:5.6-fpm-alpine3.8 $ docker pull nginx $ docker pull mysql
用戶需要到hub.docker.com,搜尋PHP並透過tags找到自己希望安裝的版本,我的專案因為開發時間比較久了,所以無法支援最新的PHP,所以安裝的是5.6版本。
我們需要準備一個工作目錄,例如lnmp
,在工作目錄下準備網站根目錄、Nginx設定檔目錄、Nginx日誌目錄。
$ mkdir lnmp $ cd lnmp $ mkdir -p nginx/www nginx/logs nginx/conf
在新建的 www 目錄中新建 index.php 文件,用來偵測 php 環境是否搭建成功。
<?php phpinfo(); ?>
在nginx/conf
目錄下準備nginx
的設定檔php.conf。
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; include fastcgi_params; } }
在工作目錄下建立docker-compose.yml
編排檔案。
關於
docker-compose
的詳細介紹可以參考我之前的文章docker-compose 使用介紹。
version: "2.1" services: nginx: image: nginx ports: - "80:80" volumes: - ~/Projects/sh-valley/docker-conf/lnmp/nginx/www:/usr/share/nginx/html - ~/Projects/sh-valley/docker-conf/lnmp/nginx/conf:/etc/nginx/conf.d - ~/Projects/sh-valley/docker-conf/lnmp/nginx/logs:/var/log/nginx networks: - lnmp-network php: image: php:5.6-fpm-alpine3.8 volumes: - ~/Projects/sh-valley/docker-conf/lnmp/nginx/www:/www networks: - lnmp-network mysql: image: mysql ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=123456 networks: - lnmp-network networks: lnmp-network:
至此,我們完成了所有的準備工作,馬上可以啟動查看效果。
$ docker-compose up -d Creating network "lnmp_php-network" with the default driver Creating lnmp_nginx_1 ... done Creating lnmp_php_1 ... done
馬上就能看到熟悉的phpinfo
介面了。
預設php
映像中提供的擴充比較少,缺少諸如mysql、gd2
等常用的擴展,這樣我們就需要自己安裝並啟用擴展。
先進入到php
容器,用php -m
指令查看本機有什麼擴充。
可以使用docker-php-ext-install
指令來安裝擴充功能。
$ docker-php-ext-install mysql
擴充功能安裝好之後就可以在php.ini
中啟用。我們從phpinfo
可以看到,容器環境下預設的php.ini
沒有啟用,可以從/usr/local/etc/php
#下將php.ini-development
拷貝為php.ini
。透過修改php.ini
中配置,啟用自己需要的擴充。下面是幾個擴充安裝的指令,供大家參考。
docker-php-ext-source
在容器中建立一個/usr/src/php
目錄docker -php-ext-enable
啟用PHP擴展,省去我們手動編輯php.ini
的流程docker-php-ext-install
安裝並啟用PHP擴充docker-php-ext-configure
經常與docker-php-ext-install
搭配,在需要自訂擴充功能的設定時使用推薦學習:《PHP影片教學》
以上是docker怎麼安裝php項目的詳細內容。更多資訊請關注PHP中文網其他相關文章!