Ошибка синтаксического анализа PHP вызывает сброс соединения

Я кодил в одной и той же системе пару лет, но недавно я пропустил закрывающую скобку } и вместо описательной ошибки браузер выдал мне ошибку «сброс соединения».

Это на локальном хосте (Windows Vista, версия PHP 5.2.5, apache2.2). У меня есть display_errors, среда разработки, файл Php.ini - отчет об ошибке E_ALL & E_STRICT & E_NOTICE. Они не изменились с тех пор, как возникла эта проблема.

Что еще более странно, у меня написан простой файл phpinfo(), и когда я нажимаю его в firefox, он отображается, а затем в конце соединение сбрасывается. с хромом вроде работает.

Я сбит с толку, но только что заметил, что когда я отображаю страницу phpinfo, error_reporting равен 0, когда в файле php.ini error_reporting=E_ALL & E_STRICT & E_NOTICE. нет ничего другого, что должно было бы преобладать над этим.

Обновление: я обнаружил, что даже простые ошибки (ссылка на несуществующее значение с включенным E_STRICT) вызовут проблему сброса соединения.

Обновление 2: я знаю, что большинство людей подумают, что на этот вопрос был дан ответ 100 раз, это другое.

2 файла:

ini_set('display_errors','On');
ini_set('display_startup_errors','On');
error_reporting(E_ALL|E_STRICT);
include("file2.php");

file2.php: ошибка синтаксического анализа

if(isset($x){echo "HI";}

На моем сервере разработки — сброс соединения (ошибка 500) на моем рабочем сервере — отображается ошибка синтаксического анализа.


person user3885442    schedule 28.07.2014    source источник
comment
Вы не против показать код и/или журналы ошибок.   -  person Darren    schedule 29.07.2014
comment
Можете ли вы также включить журналы из файла apache error.log?   -  person Darren    schedule 29.07.2014
comment
журнал ошибок ничего не показывает, код выше. Изучаю, как заставить apache писать в журнал ошибок, чтобы убедиться, что я просматриваю журнал ошибок записи. Спасибо, Даррен.   -  person user3885442    schedule 29.07.2014


Ответы (3)


В итоге я переустановил Apache и PHP, и это решило проблему, однако я не внес никаких изменений в php5apache.dll или файл конфигурации, когда это началось. Если кто-то еще видел это, мне было бы интересно узнать, есть ли у вас какие-либо мысли о том, что могло произойти.

Спасибо

person user3885442    schedule 29.07.2014

Сегодня я столкнулся с точно такой же проблемой, перейдя на PHP 5.5 и оставив свой Apache на уровне 2.2. Мне потребовалось несколько установок, чтобы заставить PHP работать должным образом, поэтому я не хочу переустанавливать.

Журналы ошибок:

[Wed Jul 30 09:44:32 2014] [error] [client 127.0.0.1] PHP Parse error:  syntax error, unexpected 'require' (T_REQUIRE) in C:\\Apache2.2\\htdocs\\laravel\\site\\public_html\\index.php on line 22
[Wed Jul 30 09:44:32 2014] [notice] Parent: child process exited with status 255 -- Restarting.
[Wed Jul 30 09:44:33 2014] [notice] Apache/2.2.15 (Win32) configured -- resuming normal operations
[Wed Jul 30 09:44:33 2014] [notice] Server built: Mar  4 2010 11:27:46
[Wed Jul 30 09:44:33 2014] [notice] Parent: Created child process 9992
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Child process is running
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Acquired the start mutex.
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Starting 64 worker threads.
[Wed Jul 30 09:44:33 2014] [notice] Child 9992: Starting thread to listen on port 80.
person Jonathan Davies    schedule 30.07.2014
comment
Я только что обновился до Apache 2.4 и столкнулся с той же проблемой. Я не вижу никакой разницы между Firefox и другими браузерами. Мне кажется серверной. - person Jonathan Davies; 30.07.2014

У меня возникла аналогичная проблема (отчеты об ошибках не отображаются в производственной среде). Также в той же ситуации, когда сервер был средой разработки большую часть года, я переустановил как apache, так и php, но также сделал загрузочное сканирование перед переустановкой нашел руткит babylon.

person Chris Lloyd Sherwood    schedule 19.02.2015