Bashスクリプトはphp5.6または7.0を自動的に検出し、指定せずに置き換えます。

Bashスクリプトはphp5.6または7.0を自動的に検出し、指定せずに置き換えます。

PHPバージョンを検出して無効にしてから、どのバージョンであるかを知らせずに別のバージョンに切り替えるbashスクリプトをどのように生成しますか?私はZF2を使用していますが、PHP 7を使用するといくつかの詳細なエラーは表示されませんでした。しかし、php5.6に切り替えると、ブラウザで正しく表示できました。

sudo a2enmod php7またはphp5.6とsudo a2dismodを実行してPHPモードを変更できます。誰かが単一のスクリプトでこのプロセスを自動化して一度だけ実行すると、現在のモードが無効になり、他のモードが有効になるのを助けることができますか?よろしくお願いします。

ベストアンサー1

おかげで友達、私の問題はついに解決されました。

    #/bash/bin
    #apache2_switch_php_mods.sh       
    MODES_ENABLED_DIR=/etc/apache2/mods-enabled
    if [ ! -f $MODES_ENABLED_DIR/php5.6.conf ] && [ -f 
    $MODES_ENABLED_DIR/php7.0.conf ]
    then
     sudo a2enmod php5.6
     sudo a2dismod php7.0 
     sudo service apache2 restart
     echo "php 5.6 successfully enabled"
    elif [ -f $MODES_ENABLED_DIR/php5.6.conf ] && [ ! -f 
    $MODES_ENABLED_DIR/php7.0.conf ]
    then
     sudo a2enmod php7.0
     sudo a2dismod php5.6 
     sudo service apache2 restart
      echo "php 7.0 successfully enabled"
    fi

スクリプトはetc/apache2/mod-enabledに行き、php5.6へのシンボリックリンクが作成されたことを確認し、それが見つかった場合はphp5.6が有効になっていることを知っているので、a2dismod php5.6を実行して無効にしてからphp7を有効にします。 0. php7.0を有効にしても同様です。これを確認して無効にしてから5.6を有効にします。利用可能なモードでシンボリックリンクが作成されたかどうかわかりませんでした。a2enmod PHPバージョン走って反対のことが起こるときa2dismodもう終わりました。

おすすめ記事