#この記事の動作環境: macOS10.15 システム、PHP5.6 バージョン、macbook pro 2020 パソコン。docker を使用して php プロジェクトをインストールする方法: 1. 必要なイメージ ファイルをダウンロードします; 2. nginx/conf ディレクトリに nginx 構成ファイル php.conf を準備します; 3. docker-compose.yml オーケストレーション ファイルを作成します; 4. 拡張機能をインストールします。
Docker を使用して php プロジェクトをインストールするにはどうすればよいですか?
Docker を使用して PHP 開発環境をすばやく構築する
最近同僚がやって来て、私が長々と書いた PHP Web サイトに何か追加してほしいと言いました。当時はxampp を使用して構築されたローカル開発環境 Function が開発されていましたが、現在私のラップトップが更新され、当時の開発環境はありません。コンピュータに無駄なソフトウェアをインストールしないという原則に従って、Docker を使用してローカル開発環境を構築できないか考えました。そこで、この記事では、ローカルの
PHP ベースの開発環境を迅速に構築する方法を紹介します。困っている学生の参考のために Docker 上で使用してください。
この記事は、事前準備最初に必要なイメージ ファイルをダウンロードします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 を検索して自分自身を見つける必要がありますタグ経由 インストールしたいバージョンは、プロジェクトの開発期間が長く、最新の PHP をサポートできないため、バージョン 5.6 をインストールしました。作業ディレクトリ (
lnmp など) を準備し、作業ディレクトリ内に Web サイトのルート ディレクトリ、Nginx 設定ファイル ディレクトリ、Nginx ログ ディレクトリを準備する必要があります。
$ mkdir lnmp $ cd lnmp $ mkdir -p nginx/www nginx/logs nginx/conf新しく作成した www ディレクトリに新しいindex.php ファイルを作成し、PHP 環境が正常に確立されているかどうかを確認します。
<?php phpinfo(); ?>
nginx 設定ファイル php.conf を
nginx/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 がコンテナ環境で有効になっていないことがわかります。 .ini-development
は php.ini
にコピーされます。 php.ini
の構成を変更して、必要な拡張機能を有効にします。以下に、参考までにいくつかの拡張機能のインストール コマンドを示します。 docker-php-ext-source
docker -php-ext-enable
PHP 拡張機能を有効にして、
docker-php-ext-install
install を手動で編集するプロセスを省略します。 PHP 拡張機能を有効にする は、
docker-php-ext-install
推奨学習: 「PHP ビデオ チュートリアル
」以上がDockerでPHPプロジェクトをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。