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čによって作成されました。