конфигурация — MAMP PRO 3.2.1 не отображает ошибки PHP

После обновления моего MAMP PRO (на OS X Yosemite 10.10.3) до самой последней версии 3.2.1 он перестал отображать ошибки. В MAMP PRO вы можете установить параметры отображения ошибок в графическом интерфейсе на вкладке PHP. У всего есть флажок (на немецком языке, но он говорит что-то вроде «Все ошибки» [проверено], «Показать» [проверено]).

Когда я проверяю с phpinfo (), display_errors является On а также error_reporting является 32767 (который должен быть эквивалентен E_ALL).

Однако, если я сделаю что-то вроде array_merge(false, array()) Я не получаю ошибки. Если я пропущу точку с запятой (синтаксические ошибки), я получаю пустую страницу.

Я попытался полностью удалить MAMP PRO и переустановить его несколько раз, даже после перезагрузки, но безрезультатно. Все «решения» там говорят, что вы должны поставить display_errrors = On а также error_reporting = E_ALL это то, что у меня есть, также он использует правильный php.ini, который я проверял с помощью phpinfo ().

Когда я положил

error_reporting(E_ALL);
ini_set('display_errors', 'On');

в моем PHP-коде чуть выше ошибки, например за array_merge(false, array())Я, наконец, получаю сообщение об ошибке «Message: array_merge (): Аргумент # 1 не является массивом», что я и ожидаю, но я хочу получить это сообщение без необходимости использовать ini_set в моем PHP-коде. Кроме того, синтаксические ошибки по-прежнему не отображаются, даже с этим методом.

Я потратил часы на это и был бы очень признателен за любую помощь, чтобы это исправить.

0

Решение

Хорошо, я наконец понял это. Приложение, над которым я работал, использует Codeigniter и в index.php ENVIRONMENT константа была неправильно установлена ​​в ‘production’, что в свою очередь установило error_reporting в 0 следующим образом:

case 'production':
error_reporting(0);
break;

Однажды я установил ENVIRONMENT постоянный для «развития», он работает как ожидалось.

Так почему же это произошло после обновления до последней версии MAMP PRO 3.2.1? Код для настройки ENVIRONMENTпостоянные проверки, если $_SERVER['SERVER_ADDR'] == '127.0.0.1'и если это правда, устанавливает ОКРУЖАЮЩУЮ СРЕДУ для разработки:

if ($_SERVER['SERVER_ADDR'] == '127.0.0.1') {
define('ENVIRONMENT', 'development');
}

В последнем MAMP PRO, $_SERVER['SERVER_ADDR'] не является 127.0.0.1 больше, но ::1, Список изменений для v3.2 гласит:

Каждый хост получает запись IPv6 :: 1 в / etc / hosts

Довольно сложные вещи. Я сейчас пользуюсь $_SERVER['HTTP_HOST'] вместо $_SERVER['SERVER_ADDR'] установить ENVIRONMENT постоянная.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]