Ansibleを使用してPHPのpost_max_sizeとupload_max_filesizeを変更する

Ansibleを使用してPHPのpost_max_sizeとupload_max_filesizeを変更する

Ansibleを使用して独立した方法で1つのバージョンpost_max_sizeで2つのよく知られているPHP変数を変更する方法はありますか?upload_max_filesizephp.ini

私はこれを扱う文献を見つけることができず、大きな会社だけでなく、どの会社もこれら2M2つの変数のデフォルトの限界値しか許可しないので、私にとって重要なようです。とても一般的です。)

答え1

正規表現を使う代わりにhttps://docs.ansible.com/ansible/latest/modules/ini_file_module.html

- name: set PHP memory limit
  become: yes
  ini_file:
    path: /etc/php.ini
    section: PHP
    option: memory_limit
    value: 512M

答え2

わかりました、これが私の関心を呼び起こし、私が考えたものは次のとおりです。

---
- モデレーター:全体
  なる: はい

  仕事:
    - 名前: php.ini のパスを取得します。
      探す:
        パス:/etc/php
        ファイルタイプ:ディレクトリ
        再帰:なし
      登録:ini_path

    - 名前:php.ini post_max_sizeアップデート
      変える:
        ターゲット: "{{ ini_path.files[0].path }}/apache2/php.ini"
        正規表現: '^post_max_size.*$'
        置換: 'post_max_size = 20M'
        バックアップ:はい
    
    - 名前: php.ini upload_max_filesize アップデート
      変える:
        ターゲット: "{{ ini_path.files[0].path }}/apache2/php.ini"
        正規表現: '^upload_max_filesize.*$'
        置換: 'upload_max_filesize = 20M'
        バックアップ:はい

私が最初にやったことは、findモジュールを使用して私たちが実行しているPHPのバージョンを確認し、結果をに登録することでしたini_path。以下の唯一のディレクトリが/etc/php実際のバージョン番号を持つディレクトリであるためです。

ls /etc/php/
7.2

登録結果はPython辞書なので、後で結果をフルパスと組み合わせますphp_ini
"{{ ini_path.files[0].path }}/apache2/php.ini"

このようにして、実行しているPHPのバージョンを事前に知らなくてもプレイブックを使用できます(理由はapache2を使用する必要があります!)。

私のテストサーバー(Ubuntu 18)の実行は次のとおりです。

アンサーブルプレイブック update_phpini.yml -i "192.168.1.11," -kK
SSHパスワード:
SUDOパスワード[デフォルトはSSHパスワード]:

すべて再生] *************************************************** * *********************

作業 [設定] *************************************************** **********************
確認: [192.168.1.11]

タスク[php.iniパスを取得]********************************************* * ****************
確認: [192.168.1.11]

タスク [php.ini post_max_size 更新] *********************************************** **
確認: [192.168.1.11]

タスク [php.ini upload_max_filesize アップデート] **************************************
確認: [192.168.1.11]

プレイレビュー******************************************************* **************************
192.168.1.11:正常=4変更=0到達不能=0失敗=0   

実稼働環境では、より多くのテストを実行し、set_fact最初に変数にパスを割り当てることができます。これはPOCだけです。

さらに、もちろん好きなようにファイルのサイズを変更することもできます!

関連情報