Из руководства по PHP на phpinfo()
:
Выводит большое количество информации о текущем состоянии PHP. Сюда входит информация о параметрах и расширениях компиляции PHP, версии PHP, информации о сервере и среде (если она скомпилирована как модуль), среде PHP, информации о версии ОС, путях, основных и локальных значениях параметров конфигурации, заголовках HTTP и PHP Лицензия.
phpinfo()
делает больше, чем просто распечатывает php.ini
настроек.
Если вы хотите обработать php.ini
настройки вручную, вы можете проверить ini_get_all()
вместо phpinfo()
. Это возвращает массив всех значений конфигурации.
Вы можете передать вывод ini_get_all()
с сервера A на сервер B (например, используя var_export()
для создания PHP-кода для создания массива или serialize()
), затем используйте array_diff_assoc()
для сравнения настроек.
export.php : (Сервер A)
<?php echo serialize(ini_get_all()); ?>
Compare.php : (Сервер B)
<code><?php
function ini_flatten($config) {
$flat = array();
foreach ($config as $key => $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);
?>
<pre><?php print_r($diff) ?>