Script Bash para detectar automaticamente o php5.6 ou 7.0 e alterná-los sem precisar especificar

0

Como posso criar um script bash que detecta a versão do php, desabilitá-lo, em seguida, mude para o outro sem dizer qual deles para. Eu trabalho com o ZF2 e alguns erros detalhados não aparecem ao usar o php 7, mas quando eu mudo para o php5.6 eu consigo vê-los bem no navegador.

Consigo alterar o mod do php fazendo sudo a2enmod php7 ou php5.6 e também fazendo sudo a2dismod. alguém, por favor, ajude a automatizar esse processo usando um único script, para que eu possa executá-lo apenas uma vez, desabilitando o mod atual e habilitando o outro. obrigado antecipadamente.

    
por E. Oloo 12.06.2017 / 11:37

1 resposta

0

Graças a amigos, finalmente tive meu problema resolvido.

    #/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

Esse script navega para o etc / apache2 / mod-enabled e verifica se o symlink para o php5.6 é criado, se ele o encontrar, então ele sabe que o php5.6 está ativado e, portanto, o desativa fazendo a2dismod php5.6. ativa o php7.0. O mesmo se aplica quando o php7.0 está habilitado, verifica, desativa e habilita o 5.6. Eu só não sabia que o symlink é criado em mods disponíveis sempre que versão-a2enmod do Php é executado e o inverso acontece quando a2dismod é feito. Espero que isso ajude alguém também.

    
por 15.06.2017 / 09:08