Я запускаю php5, однако, как только я вызываю session_start (), скрипт зависает, и ничего не происходит. Кто-нибудь еще испытывает эту проблему, или я делаю что-то неправильно?
Я использую session_start () для index.php, и по какой-то причине иногда он терпит неудачу. Никаких предупреждений, ошибок, уведомлений, даже после добавления error_reporting (E_ALL) и ini_set ('display_errors', TRUE) до session_start () я ничего не вижу, это просто умирает.
Для этого есть много причин, вот несколько из них:
A. Файл сеанса можно открыть исключительно. Когда блокировка файла не выпущена должным образом по какой-либо причине, это приводит к тому, что session_start () бесконечно зависает при любых будущих сценариях сценария. Обход проблемы: используйте session_set_save_handler () и убедитесь, что функция write использует fopen ($ file, 'w') вместо fopen ($ file, 'x').
B. Никогда не используйте следующее в файле php.ini (файл entropie для «/ dev / random»), это приведет к зависанию session_start ():
<?php ini_set("session.entropy_file", "/dev/random"); ini_set("session.entropy_length", "512"); ?>
C. session_start () требует директорию для записи.
Вы можете запустить Apache plus PHP в обычной учетной записи пользователя. Конечно, Apache, конечно, должен слушать другой порт, чем 80 (например, 8080).
Обязательно выполните следующие действия: – создайте временный каталог PREFIX / tmp – поместите php.ini в PREFIX / lib – отредактируйте php.ini и установите session.save_path в только что созданную директорию
В противном случае ваши скрипты будут «зависать» на session_start ().