PHP, вызываемый с вашего веб-сервера, может быть настроен совсем иначе, чем ваша командная строка PHP.
Это зависит от настроек вашего веб-сервера. Если у вас есть веб-сервер, просто вызовите ваш /usr/local/bin/php
(или аналогичный) двоичный файл, тогда у вас будет в основном идентичный вывод (кроме как без каких-либо переменных среды CGI, таких как HTTP_HOST, REFERRER и т. Д.)
С другой стороны, если вы используете mod_php
с apache или php через fast-cgi, ваш phpinfo будет возвращать разные значения, так как mod_php
- это отдельно скомпилированный модуль для php. Он не вызывает стандартную команду php
, доступ к которой осуществляется через командную строку.
Другая возможная причина различий заключается в том, что ваш веб-сервер использует другой файл php.ini
. Файл php.ini
сообщает php, какие расширения загружать, и в основном может устанавливать большинство параметров, которые находятся на странице phpinfo()
.
Будет трудно добиться того же результата, если только вы не сможете настроить свой веб-сервер так, чтобы он не отправлял HTTP-заголовки через ваш PHP-скрипт, и убедитесь, что настройка php для вашего веб-сервера соответствует (или напрямую вызывает) вашей командной строке php build. Вы можете убедиться, что файлы php.ini совпадают - phpinfo()
содержит имя загруженного в данный момент файла конфигурации.
Я не думаю, что вы сможете получить их одинаковыми независимо, и я не понимаю, почему вы хотите, чтобы результат был одинаковым. Если вы хотите, чтобы настройки были похожими, вам нужно отредактировать соответствующий файл php.ini
, чтобы изменить настройки так, как вы бы хотели, чтобы они были. Кроме того, если у вас нет доступа к файлу php.ini
, вы можете использовать функцию php ini_set()
для установки некоторых переменных конфигурации во время выполнения.