Все страницы, на которых есть session_start () на странице, внезапно перестали загружаться, и эта работа длилась годами. Даже хозяин не знает, что делать, ища советы.
Не удалось также выполнить пробную страницу со следующим кодом:
error_reporting(1); if(!$_REQUEST['disable']=="yes") { session_start(); } echo "hello";
Если я вызываю страницу без передачи параметров? Disable = yes страница не загружается, она просто зависает с обработкой
Сайт размещен вместе с двумя другими сайтами на сервере, другие 2 не имеют никаких проблем, это просто тот сайт, который внезапно начал действовать как это [код не был изменен на сайте для 2+ месяцев].
Хорошо, я нашел проблему!
И угадайте, что это даже не связано с сеансами! Хотя довольно удивительно, что mysql может вызвать такие проблемы с сеансами.
Итак, что случилось:
У меня есть главный сервер БД и настроен БД репликации. Большинство страниц на моем сервере пытались подключиться к ведомому устройству, и если ведомое устройство потерпело неудачу, оно подключится к ведущему устройству. Однако по какой-то странной причине [которой я еще не понял], mysql_connect для ведомого db просто висел без тайм-аута, и это, в свою очередь, по какой-то нечетной причине не позволяло бы любой другой странице с session_start () загрузить!
Теперь я не уверен, почему это будет иметь побочный эффект на всех других страницах, но мне пришлось отключить мой подчиненный сервер, маршрутизируя все мои запросы только ведущему, а затем очистил кеш браузера, прежде чем я смог снова получить доступ к сайту ,
Таким образом, mysql_connect для db, который не работает или не может быть подключен к [и с mysql_connect, но не тайм-аутом], может вызвать проблемы с загрузкой любой другой страницы на вашем сервере – даже простая 4-строчная страница, которую я поставил в моем вопросе выше, страница, которая даже не вызывает БД.
Возможно, сеансы не включены.
используйте phpinfo();
для вывода настроек php на экран и просмотра в таблице сеанса ближе к основанию. Он должен сказать, что Session Support => enabled