Попал в странную ситуацию, когда я надеялся, что кто-то сможет объяснить мне более полно.Ошибка PHP session_start(), если файл error_log не установлен?
У нас есть довольно простой сайт PHP, который использует session_start() для записи некоторых данных между страницами. Мы получили это и работали отлично на одном сервере (OS X), а затем переключились на другой сервер (Windows Server2008). Он начал вызывать сообщения «500 внутренних ошибок сервера» на этом новом сервере.
Результаты PHPinfo между двумя серверами были почти идентичны. У обоих из них был log_error = Yes, а «error_log» = No Value.
Однако, пытаясь более точно определить, что происходит (поскольку IIS просто сообщал сообщение об ошибке HTTP и ничего о ошибке PHP), я установил путь «error_log» к файлу где-нибудь. Это, казалось, сделало что-то счастливое, потому что PHP начал работать так, как ожидалось. Это больше не было ошибкой вызова session_start()! На данный момент ошибок в файле журнала не было.
Похоже, что просто наличие доступного файла журнала сделало его счастливым, и оно прекратило создавать ошибки. Может кто-нибудь помочь мне понять, что происходит на заднем плане?
Спасибо. C
Что заставляет вас думать, что это имеет какое-либо отношение к использованию сеансов вообще? –
Звучит похоже на проблему здесь http://stackoverflow.com/questions/1696867/debugging-500-internal-server-error-on-php-running-on-iis7-cluster – Machavity
@Mike: потому что, если мы прокомментируем это одна строчка, все отлично работает; раскомментируя, что одна строка возвращает нас к ошибкам «500 ...». – Cronk