comparando 2 configurações de phpinfo

Gostaria de comparar as configurações que eu tenho em 2 servidores diferentes. Ambos são compartilhados hospedagem, então eu não acho que tenho access suficiente para fazê-lo de outra maneira, mas programaticamente com o phpinfo. Então, agora que eu tenho as 2 saídas, gostaria de compará-las sem examiná-las manualmente. Existe uma maneira automatizada para isso?

Além disso, como um lado, mas nota relacionada, acho que phpinfo é o resultado do php.ini. Isso é correto?

Do PHP Manual em phpinfo() :

Produz uma grande quantidade de informações sobre o estado atual do PHP. Isso inclui informações sobre as opções e extensões de compilation do PHP, a versão do PHP, as informações do servidor e o ambiente (se compilado como um módulo), o ambiente do PHP, as informações da versão do sistema operacional, os caminhos, os valores mestres e locais das opções de configuração, os headers HTTP e o PHP Licença.

phpinfo() faz mais do que apenas imprimir as configurações do php.ini .

Se você quiser processar as configurações do php.ini manualmente, você pode querer verificar ini_get_all() vez de phpinfo() . Isso retorna uma matriz de todos os valores de configuração.

Você pode transferir a saída de ini_get_all() do servidor A para o servidor B (por exemplo, usando var_export() para criar o código PHP para criar a matriz, ou serialize() ), então use array_diff_assoc() para comparar as configurações.


export.php : (Servidor A)

  

compare.php : (Servidor B)

  $info) { $flat[$key] = $info['local_value']; } return $flat; } function ini_diff($config1, $config2) { return array_diff_assoc(ini_flatten($config1), ini_flatten($config2)); } $config1 = ini_get_all(); $export_script = 'http://server-a.example.com/export.php'; $config2 = unserialize(file_get_contents($export_script)); $diff = ini_diff($config1, $config2); ?> 

Encontrou esta questão pesquisando e, posteriormente, encontrou um script que faz exatamente o que eu queria (e espero que o OP deseje também).

https://github.com/brettalton/phpinfo-compare

Supondo que você tenha um servidor web com curl, basta colocar comparar.php em um diretório e altera os valores de $ site1 e $ site2 para urls que obtêm phpinfo e você conseguiu uma leitura fácil e linda. Veja o exemplo em seu blog – http://blog.brettalton.com/2012/08/09/phpinfo-compare/

Se você quiser apenas comparar dois arquivos php.ini:

 #!/usr/bin/php  $val ) { if( $val == $c2[$key] ) continue; echo $key.': '.$c1[$key].' // '.$c2[$key]."\n"; } ?> 

Comparando dois arquivos php.ini facilmente usando uma function parse_ini_file

Exemplo de snippet de código

 $firstIni = parse_ini_file('/etc/php5/apache2/php.ini'); $secondIni = parse_ini_file('/etc/php5/apache2/php.ini.save'); $firstIniDiff = array_diff($firstIni, $secondIni); $secondIniDiff = array_diff($secondIni, $firstIni); if (count($firstIniDiff) > 0) { echo '

php.ini changes

'; echo '
    '; foreach ($firstIniDiff as $key => $val) { echo '
  1. php.ini'.$key.': '.$val.' ----> php.ini.save :'.@$secondIniDiff[$key].'
  2. '; } echo '
'; } if (count($secondIniDiff) > 0) { echo '

php.ini.save changes

'; echo '
    '; foreach ($secondIniDiff as $key => $val) { echo '
  1. php.ini'.$key.': '.$val.' ----> php.ini.save :'.@$firstIniDiff[$key].'
  2. '; } echo '
'; }

Saída

insira a descrição da imagem aqui

  

Em seguida, pegue as saídas e cole-as em https://www.diffnow.com ou em seu favorito diff-er.

    Intereting Posts