Неопределенная переменная SESSION - PullRequest
0 голосов
/ 14 октября 2011

Я использую php $ _SESSION вот так

 $_SESSION['original_referrer_location']

, но я продолжаю получать эту ошибку

Notice: Undefined variable: _SESSION in /var/www/m/inc/referrer.php on line 3

, поэтому я добавил это в начало моего скрипта

ini_set('session.use_cookies', 'On');
ini_set('session.use_trans_sid', 'Off');
session_set_cookie_params(0, '/');
session_start();

и все хорошо.

Есть ли способ включить сеансы навсегда, потому что добавление этого поверх любого скрипта, который нуждается в сеансе, отчасти избыточно ... Я пошел на php.ini, но есть много вызовов, которыеначать с сессии ... любые идеи о том, что мне нужно изменить ... Я на Ubuntu 10.10 / php5 в случае, если это имеет значение

Ответы [ 3 ]

3 голосов
/ 14 октября 2011

Есть:

http://www.php.net/manual/en/session.configuration.php#ini.session.auto-start

Но я бы не рекомендовал его использовать. Например, вы хотите сохранить весь объект в сеансе, для этого вам нужно сначала включить файл с объявлением класса, в противном случае несериализованный объект будет иметь неполный класс.

Другой способ - файл с автоподстановкой , который задает некоторую базовую конфигурацию и запускает сеанс

2 голосов
/ 14 октября 2011

Да

session.auto.start

session.auto_start логический session.auto_start указываетзапускается ли сеансовый модуль автоматически при запуске запроса.По умолчанию 0 (отключено).

0 голосов
/ 23 августа 2012

Если вы хотите использовать сеансы, не забудьте вызвать session_start () перед тегом HTML

<?php session_start(); ?>

<html>
<body>
...
...