lukasic.php

Ansibleロール: Multi PHP

Debianで複数のPHPバージョンを提供するAnsibleロールです。

変更履歴

1.5.1

  • PHP 8.0以上のJSONモジュールの除外を修正

1.5.0

  • PHP 8.3をサポート

1.4.0

  • PHP 8.2をサポート

1.3.1

  • PHP 7.4以上のjsonモジュールを削除

1.3.0

  • 変数php_remove_unused_modulesを追加
    • デフォルト -> false
    • trueに設定すると、php変数で指定されていないphpモジュールを削除
  • 変数php_remove_unused_versionsを追加
    • デフォルト -> false
    • trueに設定すると、php変数で指定されていないphpバージョンを削除
  • 修正: <0xa0>文字を置換

1.2.0

  • PHP 8.1をサポート

1.1.2

  • php_default_versionを修正
  • redisとimagick拡張を修正

1.1.1

  • READMEを更新
  • Ansible Lintエラーを修正

1.1.0

  • Ubuntuへのインストールをサポート(Focalでテスト済み)

1.0.0

  • Debian Busterで異なるPHPバージョンのインストールをサポート

インストール

ansible-galaxyを使用する場合:

$ ansible-galaxy install lukasic.php

requirements.ymlを使用する場合:

- src: lukasic.php

要件

このロールは、Ondrej Suryが提供するAPTリポジトリdeb.sury.orgを必要とします。

このロールはDebian BusterとUbuntu Focalのみにテストされています。他のディストリビューションでも機能するはずですが、リポジトリにパッケージがある必要があります。

ロール変数

デフォルトのPHPバージョン:

php_default_version: "7.3"

すべてのバージョンにインストールされるPHPモジュールのリスト:

php_default_modules:
 - bcmath
 - bz2
 - curl
 - gd
 - readline
 - json
 - mysql
 - soap
 - opcache
 - xml
 - xmlrpc
 - zip

次のように特定のバージョンで指定できます:

php56_default_modules: "{{ php_default_modules }}"
php70_default_modules: "{{ php_default_modules }}"
php71_default_modules: "{{ php_default_modules }}"
php72_default_modules: "{{ php_default_modules }}"
php73_default_modules: "{{ php_default_modules }}"
php74_default_modules: "{{ php_default_modules }}"
php80_default_modules: "{{ php_default_modules }}"
php81_default_modules: "{{ php_default_modules }}"

特別なスーパーバリアブル:

php: []

この変数はインストールされたPHPバージョン、モジュールを制御し、PHP設定を構成するために使用されます。以下に例を示します。

依存関係

なし。

例のプレイブック

例 1: PHP 5.6と7.3をインストール

- hosts: php
  roles:
     - lukasic.php
  vars:
    php:
      - version: php56
      - version: php73

例 2: PHP 5.6、7.3、8.0を追加のモジュールと共にインストールし、グローバルCLI/FPM設定を構成します。

- hosts: php
  roles:
     - lukasic.php
  vars:
    # ローカル変数、以下を参照
    common_fpm_ini:
     - { "section": "PHP",     "key": "max_execution_time",             "value": "360"  }
     - { "section": "PHP",     "key": "post_max_size",                  "value": "64MB" }
     - { "section": "PHP",     "key": "upload_max_filesize",            "value": "64MB" }
     - { "section": "opcache", "key": "opcache.enable",                 "value": "1"    }
     - { "section": "opcache", "key": "opcache.memory_consumption",     "value": "512"  }
     - { "section": "opcache", "key": "opcache.max_accelerated_files",  "value": "500"  }
    php:
     - version: php56
       fpm_ini: "{{ common_fpm_ini }}"
       cli_ini:
        - section: "PHP"
          key: "memory_limit"
          value: "2048M"
     - version: php73
       modules_extra: ['pgsql', 'gd']
       fpm_ini: "{{ common_fpm_ini }}"
     - version: php80
       modules_extra: ['pgsql', 'gd']
       fpm_ini: "{{ common_fpm_ini }}"

ライセンス

WTFPL

著者情報

このロールは2020年にLukáš Kasičによって作成されました。

プロジェクトについて

Debian/Ubuntu multi-php role

インストール
ansible-galaxy install lukasic.php
ライセンス
Unknown
ダウンロード
33k
所有者