Основы работы в Dreamweaver


Активация управления сессиями (только пользователям PHP с Windows)


Когда PHP устанавливается с настройками по умолчанию, управление сессиями включено. Когда код PHP действительно начинает использовать сессии, он сохраняет информацию о производимых посетителем операциях в текстовом файле. Этот текстовый файл устанавливается во время установки PHP или, по крайней мере, должен. К сожалению, в некоторых версиях PHP для Windows по умолчанию присутствует неправильный путь к этому файлу. В результате появляются неприятные сообщения об ошибках (см. рис. вверху следующей страницы).

Если при тестировании страницы login.php сообщение об ошибке не появляется, значит, все в порядке и следует перейти к разделу "Ограничение доступа на страницы".

Если присмотреться к сообщению об ошибке более внимательно, станет очевидно, что страница пытается открыть файл с неправильным путем, – что-то вроде /tmp\sess_sess_6002c7a1f3cba0838a25d6e86e596b15, 0_RDWR). Путь необычен тем, что начинается с косой черты (/), в то время как для записи пути для Windows применяется символ обратной косой черты (\). Скорее всего, эта ошибка происходит из PHP для Unix, поскольку все пути в Unix-системах (в том числе, и в Mac OS X) обозначаются косыми чертами. Но хуже всего то, что папки, поиск которой проводит сценарий (tmp), не существует.

Активация управления сессиями (только пользователям PHP с Windows)

увеличить изображение

Исправить эту проблему относительно просто. Для этого требуется выполнить два шага:

  • изменить .ini-файл, в котором указан путь, используемый PHP для подключения к каталогу сессии;
  • создать каталог, на который будет указывать .ini-файл.
  1. Найдите файл, расположенный по адресу C:\windows\php.ini . Дважды щелкните на нем, чтобы открыть его в программе NotePad (Блокнот).

    В файле содержится множество указаний по настройке PHP. Как известно, в Unix наиболее распространенным интерфейсом является не диалоговое окно или Мастер, а текстовый файл.

  2. При помощи функции поиска (при выполнении команд Edit\Find [Правка\Найти]) найдите надпись session.save_path. В той же строке найдите путь, определяющий расположение каталога для сохранения данных.


    Активация управления сессиями (только пользователям PHP с Windows)


    Все строки, в начале которых присутствует точка с запятой, закомментированы. В большинстве таких строк содержатся инструкции и описания. Таким образом, скорее всего, первый найденный экземпляр session.save_path будет содержаться в составе комментария, а не в самом коде.

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

    Активация управления сессиями (только пользователям PHP с Windows)

    увеличить изображение

  3. Измените путь так, чтобы он соответствовал указанной записи:

    C:\php-[номер_версии]-Win32\temp\

    Этот адрес следует ввести без изменений, но вместо [номер_версии] нужно задать номер используемой версии PHP.

    Если версия PHP неизвестна, следует перейти в каталог C:\ и посмотреть имя папки, в которой хранятся файлы PHP. Как правило, в имени папки содержится и номер версии.

    Активация управления сессиями (только пользователям PHP с Windows)


  4. Сохраните и закройте файл php.ini.

    Информация о месте хранения данных сессии будет обновлена.

  5. При помощи значка Apache, расположенного на панели задач, остановите и снова запустите Apache.

    При этом информация из файла php.ini. будет перезагружена, и новые данные вступят в силу.

    Активация управления сессиями (только пользователям PHP с Windows)


  6. Откройте окно Windows Explorer (Проводник) (или другой менеджер файлов), перейдите в папку C:\php-[номер_версии]-Win32\ и убедитесь, что внутри нее содержится папка под названием temp.

    Если такой папки не существует, следует ее создать.

    Активация управления сессиями (только пользователям PHP с Windows)

    увеличить изображение




Содержание  Назад  Вперед