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이미 마쳤어.

관련 정보