Поиск по DDG и здесь не дал никаких интересных результатов. Я слышал, что они разные, но я хочу знать, чем они отличаются, и в чем преимущество двух разных конфигураций?
РЕДАКТИРОВАТЬ Да, я запускаю их обоих из CLI.
phpinfo()
является языковой функцией, которая будет отображать свой вывод независимо от того, вызывается ли сценарий, в котором он выполняется, через веб-интерфейс SAPI или из CLI;
php -i
это просто переключатель командной строки, чтобы получить информацию о PHP из командной строки.
Почему разные конфигурации для веб-сапи и для CLI? Потому что у вас могут быть разные требования; часто разработчики запускают длинные сценарии командной строки и не хотят применять тайм-аут веб-сапи, аналогично настройкам памяти; и максимальные настройки ini файла / размера поста для CLI не имеют смысла, так зачем их помещать в файл CliIni, когда они нужны только для Интернета?
В зависимости от дистрибутива вашего сервера, может быть отдельный php.ini
файлы для командной строки и веб-сервера.
Источник:
Pro PHP
Шаблоны, рамки, тестирование и многое другое
От Кевин Макартур
php -i
дает вам так же информация, которую вы используете phpinfo()
но:
Редактировать:
не копаю источники, но могу поспорить, что оба используют один и тот же код для извлечения информации. Другими словами, php -i это «вызов phpinfo()
«в консольном смысле и контексте