Почему MAMP не отображает ошибки?
ОК, это очень расстраивает. MAMP раньше отображал ошибки, но затем останавливался. Я решил сделать новую установку этого, поскольку я не мог понять это. Я проверяю свою версию PHP под управлением 5.4.4, захожу в эту папку и изменяю php.ini так:
error_reporting = E_ALL
display_errors = On
По-прежнему никаких ошибок не отображается. Я просматриваю все папки и изменяю все файлы php.ini, на всякий случай. Ничего такого. Я исправляю вынужденную ошибку и выкидываю phpinfo()
, проверьте раздел ошибок и display_errors выключен. Что за черт.
Я ставлю error_reporting(E_ALL); ini_set('display_errors', 'on');
в начале файла PHP и phpinfo()
снова. Локальное значение теперь включено, мастер по-прежнему выключен. Принудительная ошибка PHP и все равно получите ошибку сервера, а не ошибку PHP.
У кого-нибудь есть понимание? У меня есть ошибка где-то в некотором коде, и я не могу ее найти, хотелось бы, чтобы PHP просто сказал мне.
10 ответов
Для более новых версий MAMP файл конфигурации хранится в Appliations/MAMP/bin/php/[php version]/conf
,
Эндрю Надь направил меня в правильном направлении своим ответом, но это не совсем правильно для моей установки MAMP. Почему они разные, я не могу сказать, но мы здесь.
Если кто-то застрял, самое простое, что нужно сделать, это просто <?php echo phpinfo(); ?>
в индексном файле приложения и ищите загруженный php.ini
каталог.
MAMP устанавливает несколько разных php.ini
файлы для сервера, клиента и т. д. phpinfo()
который php.ini
на самом деле читается. Похоже, вы редактируете не тот.
Есть два php.ini
файлы на MAMP. Вы должны изменить оба php.ini
файлы.
Applications/MAMP/bin/php/'php version you are using(php5.5.10)'/conf/php.ini
Applications/MAMP/conf/php/'php version you are using(php5.5.10)'/conf/php.ini
Затем измените:
display_errors = Off
чтобы:
display_errors = On
Если вы используете MAMP PRO, вы должны включить обработку ошибок (PHP) в интерфейсе пользовательского интерфейса, который должен содержать как минимум две основные опции: "Показать ошибки запуска" и установить вывод "Кому: Показать".
Display startup errors
опция эквивалентна display_startup_errors
(в PHP) и To: Display
в display_errors
,
Увидеть ниже:
Измените настройки в вашем php.ini
файл. Файл находится в MAMP > conf > php5 > php.ini
Ищу display_errors = Off
и изменить на display_errors = On
После этого вам нужно перезапустить серверы Apache и MySQL, чтобы изменения вступили в силу.
Пользователи MAMP PRO могут посетить вкладку PHP в пользовательском интерфейсе и убедиться, что Log Errors: to screen отмечен: screencast
Вот обновление 2018 года для этой проблемы. Сначала у меня возникла такая же проблема и нашел эту ветку. Я использовал phpinfo() и нашел еще одно местоположение файла php.ini. Вот пути (я работаю на Mac):
/Applications/MAMP/bin/php/[php version]/conf/php.ini
/Applications/MAMP/conf/php/[php version]/php.ini
а также...
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini
На странице phpinfo() перечислены два источника для php.ini:
- Путь к файлу конфигурации (php.ini)
/ Приложения /MAMP/bin/php/[версия php]/conf - Загруженный файл конфигурации / Библиотека / Поддержка приложений /appsolute/MAMP PRO/conf/php.ini
Я закончил тем, что изменил все три, добавив error_reporting(E_ALL)
на некоторых страницах, перезагружая сервер (даже перезагружая машину), и до сих пор не могу заставить его отображать какие-либо сообщения об ошибках.
Я не уверен, куда идти отсюда. Есть идеи?
Если вы используете MAMP версии 3.2.2, вам нужно изменить только один файл php.ini:
Mac: Applications/MAMP/conf/'(php7.0.9)'/php.ini
Окна: C:\MAMP\conf\PHP Version you use'(php7.0.9)'\php.ini
Я знаю, что это старый пост, но MAMP постоянно меняет свою конфигурацию файлов, поэтому я надеюсь, что это поможет.
Также есть шаблон, сохраненный в MAMP php.ini
, Идти к File > Edit Template > PHP > Your Version
,
На MAMP 3.2.0 и PHP 7 вам нужно настроить таргетинг php.ini-production
и измените значение на Production Value = On