小編給大家分享一下docker如何安裝php項(xiàng)目,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到石城網(wǎng)站設(shè)計(jì)與石城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋石城地區(qū)。
docker安裝php項(xiàng)目的方法:1、下載所需要的鏡像文件;2、在nginx/conf目錄下準(zhǔn)備nginx的配置文件php.conf;3、創(chuàng)建docker-compose.yml編排文件;4、安裝擴(kuò)展即可。
本文操作環(huán)境:macOS10.15系統(tǒng),PHP5.6版,macbook pro 2020電腦。
使用Docker快速搭建PHP開(kāi)發(fā)環(huán)境
最近有個(gè)同事找過(guò)來(lái),希望我對(duì)在很早之前寫(xiě)的一個(gè)PHP網(wǎng)站上增加一些功能,當(dāng)時(shí)開(kāi)發(fā)使用xampp
構(gòu)建的本地開(kāi)發(fā)環(huán)境,但是現(xiàn)在我的筆記本電腦已經(jīng)更新,沒(méi)有當(dāng)時(shí)的開(kāi)發(fā)環(huán)境。本著盡量不往電腦上裝無(wú)用軟件的原則,想到能不能用Docker來(lái)構(gòu)建本地開(kāi)發(fā)環(huán)境,因此本文介紹了如何基于Docker來(lái)快速構(gòu)建本地PHP
開(kāi)發(fā)環(huán)境,供有需要的同學(xué)參考使用。
目錄
前期準(zhǔn)備
編排文件
運(yùn)行效果
安裝擴(kuò)展
參考資料
本文基于
5.6-fpm-alpine3.8
以及ngingx
搭建Mac 下的PHP開(kāi)發(fā)環(huán)境。
首先下載所需要的鏡像文件
$ docker pull php:5.6-fpm-alpine3.8 $ docker pull nginx $ docker pull MySQL
用戶(hù)需要到hub.docker.com,搜索PHP并通過(guò)tags找到自己希望安裝的版本,我的項(xiàng)目因?yàn)殚_(kāi)發(fā)時(shí)間比較久了,不能夠支持最新的PHP,所以安裝的是5.6版本。
我們需要準(zhǔn)備一個(gè)工作目錄,例如lnmp
,在工作目錄下準(zhǔn)備網(wǎng)站根目錄、Nginx配置文件目錄、Nginx日志目錄。
$ mkdir lnmp $ cd lnmp $ mkdir -p nginx/www nginx/logs nginx/conf
在新建的 www 目錄中新建 index.php 文件,用來(lái)檢測(cè) php 環(huán)境是否搭建成功。
在nginx/conf
目錄下準(zhǔn)備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; } }
在工作目錄下創(chuàng)建docker-compose.yml
編排文件。
關(guān)于
docker-compose
的詳細(xì)介紹可以參考我之前的文章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:
至此,我們完成了所有的準(zhǔn)備工作,馬上可以啟動(dòng)查看效果。
$ docker-compose up -d Creating network "lnmp_php-network" with the default driver Creating lnmp_nginx_1 ... done Creating lnmp_php_1 ... done
馬上就能看到熟悉的phpinfo
界面了。
默認(rèn)php
鏡像中提供的擴(kuò)展比較少,缺少諸如mysql、gd2
等常用的擴(kuò)展,這樣我們就需要自己安裝并啟用擴(kuò)展。
首先進(jìn)入到php
容器,用php -m
命令查看本地有什么擴(kuò)展。
可以使用docker-php-ext-install
命令來(lái)安裝擴(kuò)展。
$ docker-php-ext-install mysql
擴(kuò)展安裝好之后就可以在php.ini
中啟用。我們從phpinfo
中可以看到,容器環(huán)境下默認(rèn)的php.ini
沒(méi)有啟用,可以從/usr/local/etc/php
下將php.ini-development
拷貝為php.ini
。通過(guò)修改php.ini
中配置,啟用自己需要的擴(kuò)展。下面是幾個(gè)擴(kuò)展安裝的命令,供大家參考。
docker-php-ext-source
在容器中創(chuàng)建一個(gè)/usr/src/php
目錄
docker-php-ext-enable
啟用PHP擴(kuò)展,省去我們手工編輯php.ini
的過(guò)程
docker-php-ext-install
安裝并啟用PHP擴(kuò)展
docker-php-ext-configure
經(jīng)常與docker-php-ext-install
搭配,在需要自定義擴(kuò)展的配置時(shí)使用
以上是“docker如何安裝php項(xiàng)目”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!