Ошибка живого сервера, но не на MAMP - PullRequest
0 голосов
/ 24 февраля 2012

Я только что сделал свежую установку последней стабильной версии PyroCMS на мой веб-сервер. Теперь я едва могу использовать сайт из-за ошибок PHP, связанных с данными сеанса. "Невозможно изменить данные заголовка."

Почему CMS работает без ошибок на MAMP, но не на живом сервере?

Ответы [ 4 ]

1 голос
/ 13 августа 2012

У меня была такая же проблема.Похоже, что PyroCMS испытывает проблемы с php 5.4, который MAMP использует по умолчанию.Попробуйте переключить свою версию php на 5.3.

Тема с той же проблемой

0 голосов
/ 24 февраля 2012

Вам нужно настроить PHP так, чтобы вы обнаруживали ошибки на вашем локальном компьютере до того, как они поступят в производство.Похоже, у вас сейчас все наоборот!

Чтобы исправить это, в вашей dev-установке MAMP для error_reporting должно быть установлено значение E_ALL в php.ini, а для display_errors установлено значение 'on'.Ваш рабочий веб-сервер должен по крайней мере иметь display_errors установленным в «off» (проверить, что они вместо этого отправляются в файлы журналов - вы не хотите их потерять), и вы также можете уменьшить error_reporting до E_ERROR.

Установка его в E_ERROR будет поддерживать чистоту журналов на рабочем сервере, так что вы сможете обнаружить большие проблемы, когда они возникнут.Вы можете особенно захотеть сделать это, если вы используете библиотеку или CMS, которая выдает PHP-уведомления или предупреждения, с которыми вы ничего не можете сделать.В качестве альтернативы, вы можете захотеть сохранить все в журналах с помощью E_ALL и систематически разбирать все, что появляется, однако вам нужно будет использовать код, который вы можете изменить, не делая его неудобным для обновления.Это может быть очень полезно, потому что иногда среда на рабочем сервере отличается от локальной, и вещи могут действительно сломаться по причинам, которые вы не ожидаете.

Кстати, ошибка «невозможно изменить данные заголовка» предполагает, что этоне является стабильной версией PyroCMS, что бы она ни говорила на банке!

0 голосов
/ 28 февраля 2012

Спасибо за помощь, ребята. В конце концов я нашел проблему, которая была связана с сессиями. У меня было session.autostart=on на живом сервере. Отключение это решило проблему.

0 голосов
/ 24 февраля 2012

Оба сервера должны иметь разные конфигурации в отношении отображения ошибок.

Либо разместите error_report('E_ALL'); на начальной странице (наиболее вероятно index.php), либо узнайте, как можно отключить отображение ошибок в вашей CMS (должны быть некоторые конфигурации).

Или попытайтесь вставить off директиву display_errors в ваш файл php.ini.

...