ホームページ >バックエンド開発 >PHPの問題 >DockerでPHPプロジェクトをインストールする方法

DockerでPHPプロジェクトをインストールする方法

藏色散人
藏色散人オリジナル
2021-12-21 10:27:494580ブラウズ

docker を使用して php プロジェクトをインストールする方法: 1. 必要なイメージ ファイルをダウンロードします; 2. nginx/conf ディレクトリに nginx 構成ファイル php.conf を準備します; 3. docker-compose.yml オーケストレーション ファイルを作成します; 4. 拡張機能をインストールします。

DockerでPHPプロジェクトをインストールする方法

#この記事の動作環境: macOS10.15 システム、PHP5.6 バージョン、macbook pro 2020 パソコン。

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インターフェイスがすぐに表示されます。

拡張機能のインストール

Default

php画像で提供されている拡張機能は比較的少数で、mysql、gd2 などはありません。 およびその他の一般的に使用される拡張機能があるため、拡張機能を自分でインストールして有効にする必要があります。

まず、

php コンテナに入り、php -m コマンドを使用して、ローカルで利用可能な拡張機能を確認します。

docker-php-ext-install コマンドを使用して拡張機能をインストールできます。

$ docker-php-ext-install mysql
拡張機能をインストールしたら、

php.ini で有効にできます。 phpinfo から、デフォルトの php.ini がコンテナ環境で有効になっていないことがわかります。 .ini-developmentphp.ini にコピーされます。 php.ini の構成を変更して、必要な拡張機能を有効にします。以下に、参考までにいくつかの拡張機能のインストール コマンドを示します。 docker-php-ext-source

コンテナ内に
    /usr/src/php
  • ディレクトリを作成しますdocker -php-ext-enablePHP 拡張機能を有効にして、
  • php.ini
  • docker-php-ext-installinstall を手動で編集するプロセスを省略します。 PHP 拡張機能を有効にする
  • ##docker-php-ext-configure は、docker-php-ext-install
  • と組み合わせて使用​​されることが多く、拡張子
  • 推奨学習: 「PHP ビデオ チュートリアル

以上がDockerでPHPプロジェクトをインストールする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。