Чем отличается функция phpinfo в cli или mod_php? - PullRequest
0 голосов
/ 02 июня 2009

Я думаю, что функция phpinfo - это функция отображения среды PHP, но результаты phpinfo, которые я выполнил из командной строки в результате phpinfo, который я отобразил на веб-сервере, отличаются. Почему они будут разными? Я хочу стать таким же результатом.

1 Ответ

1 голос
/ 02 июня 2009

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() для установки некоторых переменных конфигурации во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...