ホームページ  >  記事  >  バックエンド開発  >  導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

WBOY
WBOY転載
2022-12-28 18:03:094435ブラウズ

この記事では、PHP に関する関連知識を提供し、主に docker を使用してマルチバージョン PHP 開発環境を迅速に構築する方法に関する関連コンテンツを紹介します。一緒に見てみましょう。誰にとっても役に立ちます。役に立ちます。

導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

## 推奨学習: 「

PHP ビデオ チュートリアル

記事で使用したソフトウェア:

  • Mac: 11.4 (macOS Big Sur)、プロセッサ: Intel Core。

  • Docker: 3.3.3

導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する## ターゲット

サポート PHP 5.6.x 環境

PHP 7.2.x 環境をサポート

ダウンロード

Docker ソフトウェアのダウンロードとインストールについては、あまり説明せずに、手順を追ってインストールするだけです。

ダウンロード アドレス: Docker 公式 Web サイト https://www.docker.com/products/docker-desktop

エージェント設定

"registry-mirrors" : [
    "http://registry.docker-cn.com",
    "http://hub-mirror.c.163.com"
  ],

# # 環境を構成します導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

PHP 7.2.x、ローカル ポート 8081 を占有します

docker を開始します;
  • # 圧縮パッケージ php7-2-x.zip をダウンロードして解凍します;
  • php7-2-x ディレクトリに入り、docker-compose up を直接実行します;
  • ブラウザ入力: http://127.0.0.1:8081/;

#PHP 5.6.x 、占有ローカル ポート 8082導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

docker を開始します;

  • 圧縮パッケージ php5-6-x.zip をダウンロードして解凍します;

  • php5-6-x ディレクトリに入り、docker-compose up を直接実行します;

  • ブラウザ入力: http:// 127.0.0.1: 8082/;

ポート マッピング

導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築するlocal.php72.com -> 127.0.0.1:8081

/etc/hosts ファイルではポートマッピングを実行できないため、他のツールが必要です。

私が使用したツールは、Chrome ブラウザのプラグインである Simple Proxy です。

ダウンロード方法:

Chrome App Store からダウンロードし、「Simple Proxy」を検索します。

  • ローカル拡張機能をロードします。ダウンロード アドレス: chrome-simply-proxy[2]

  • インストールされているインターフェイスを確認します:

#設定が成功したら、http://local.php72.com/

導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

##local.php56.com - > にアクセスしてください。 ; 127.0.0.1:8082

上記と同じ。 導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築する

備考

docker-compose 関連コマンド

docker-compose up ビルド コンテナ パラメータ [-d] が実行されますバックグラウンドで

#docker-compose start コンテナを有効にする

  • docker-compose stop コンテナを停止

  • # #docker-compose restart コンテナを再起動します

  • #docker-compose down コンテナを削除します
  • ##docker-compose ps 現在のコンテナのステータスを表示します
  • php7-2-x ディレクトリの概要
  • ├── docker-compose.yml
    ├── log
    │   └── nginx
    │       └── local.php72.com_access.log
    ├── phpdocker
    │   ├── README.html
    │   ├── README.md
    │   ├── nginx
    │   │   └── default.conf
    │   └── php-fpm
    │       ├── Dockerfile
    │       └── php-ini-overrides.ini
    └── web
        └── phpinfo
            └── index.php

    1. docker-compose.yml、コンテナ オーケストレーション用の構成ファイル、このファイルは必要ありません変えられる。
  • version: "3.1"
    services:
        webserver:
          image: nginx:alpine
          container_name: php7-2-x-webserver
          working_dir: /application
          volumes:
              - .:/application
              - ./phpdocker/nginx:/etc/nginx/conf.d
          ports:
           - "8081:80"
        php-fpm:
          build: phpdocker/php-fpm
          container_name: php7-2-x-php-fpm
          working_dir: /application
          volumes:
            - .:/application
            - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.2/fpm/conf.d/99-overrides.ini
  • 2.log/nginx は、xxx_access.log および xxx_php_errors.log を含むログ ディレクトリで、xxx は設定された仮想ドメイン名です。

    3. phpdocker/nginx は仮想ドメイン名のディレクトリを設定します。default.conf に設定されている仮想ドメイン名は local.php72.com です。あまり説明する必要はありません。一目で誰でも理解できます。他のディレクトリとファイルは調整する必要はありません。
  • server {
        listen 80;
        server_name local.php72.com;
        client_max_body_size 108M;
        access_log /application/log/nginx/${server_name}_access.log;
        root /application/web/phpinfo;
        index index.php;
        # try to serve file directly, fallback to index.php
        location / {
            try_files $uri /index.php$is_args$args;
        }
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
        }
        location ~ \.php$ {
            fastcgi_pass php-fpm:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PHP_VALUE "error_log=/application/log/nginx/${server_name}_php_errors.log";
            fastcgi_buffers 16 16k;
            fastcgi_buffer_size 32k;
            include fastcgi_params;
        }
        
    }
4. web はコード ウェアハウス ディレクトリで、phpinfo はドメイン名 local.php72.com が指すコード ディレクトリです。

新しい仮想ドメイン名 (local.abc.com) 構成を追加する場合、必要な手順は 3 つだけです。

コード フォルダー abc をweb ディレクトリ;

#ファイル local.abc.com.conf を追加し、コード ディレクトリが構成ファイル内の abc ディレクトリを指すようにします;

# #コンテナを再起動する docker-compose restart;

  • php5-6-x ディレクトリの紹介

    上記と同じ。
  • zip ファイルを生成するにはどうすればよいですか?

  • zip ファイルはどのように生成されるのですか? 別のバージョンの環境を構築したい場合はどうすればよいですか?

    これらのファイルはオンラインで生成されます。URL: https://phpdocker.io/generator[3]

サポートされる PHP バージョン: 5.6.x、 7.0.x、7.1.x、7.2.x、7.3.x、7.4.x など

MySQL、MariaDB、Elasticsearch などもサポートしています。

必要に応じて選択した後、[プロジェクト アーカイブの生成] をクリックして圧縮パッケージを生成します。

このようにして生成された上記の php5-6-x.zip と php7-2-x.zip は、ログディレクトリや Web ディレクトリの設定などを微調整しただけです。

推奨学習: 「PHP ビデオ チュートリアル

以上が導入事​​例: Docker を使用してマルチバージョン PHP 開発環境を迅速に構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は新亮笔记微信公众号で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。