Общие вопросы по коду
-
Sham
Re: Общие вопросы по коду
еще вроде можно с variables_order (php.ini) намутить - не все буквы указать, тогда тоже не создаются, а соответственно и в GLOBALS.
-
Sham
-
Sham
Re: Общие вопросы по коду
Sham, так точно. register_long_arrays = Off . И еще например, цитата с php.su
Цитата:
Переменные окружения $_ENV
Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_ENV_VARS.
Эти переменные импортируются в глобальное пространство имен PHP, из среды, в которой работает интерпретатор PHP. Число и типы переменных зависят от оболочки, в которой работает PHP, поэтому список этих переменных привести невозможно. Смотрите документацию по оболочке, которую вы используете, чтобы ознакомиться со списком ваших переменных окружения.
Некоторые переменные окружения содержатся в переменных CGI, если вы используете PHP как CGI.
Переменные окружения $_ENV доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_ENV. На это не влияют даже настойки конфигурации PHP (php.ini).
Переменная $HTTP_ENV_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_ENV_VARS и $_ENV - это различные переменные).
Но даже этой переменной $_ENV, в списке нету, хотя php.su пишет что на суперглобальность "не влияют даже настойки конфигурации PHP (php.ini)"...
Цитата:
Переменные окружения $_ENV
Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_ENV_VARS.
Эти переменные импортируются в глобальное пространство имен PHP, из среды, в которой работает интерпретатор PHP. Число и типы переменных зависят от оболочки, в которой работает PHP, поэтому список этих переменных привести невозможно. Смотрите документацию по оболочке, которую вы используете, чтобы ознакомиться со списком ваших переменных окружения.
Некоторые переменные окружения содержатся в переменных CGI, если вы используете PHP как CGI.
Переменные окружения $_ENV доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_ENV. На это не влияют даже настойки конфигурации PHP (php.ini).
Переменная $HTTP_ENV_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_ENV_VARS и $_ENV - это различные переменные).
Но даже этой переменной $_ENV, в списке нету, хотя php.su пишет что на суперглобальность "не влияют даже настойки конфигурации PHP (php.ini)"...
-
Sham
Re: Общие вопросы по коду
Цитата fooger:
Но даже этой переменной $_ENV, в списке нету
Цитата fooger:
значение variables_order GPCS (информация с phpinfo() ).
если нет 'E' то и не инициализирует. Только get post cookie server
если register_long_arrays = off и auto_globals_jit = On то переменные SERVER и ENV будут инициализироваться только при непосредственном обращении к ним. Обращение к GLOBALS не в счет.
register_long_arrays = on видимо инициализирует SERVER и ENV в начале скрипта, и в этом случае auto_globals_jit идет лесом, и эти переменные будут уже в GLOBALS.
Но даже этой переменной $_ENV, в списке нету
Общие вопросы по коду
Цитата fooger:
значение variables_order GPCS (информация с phpinfo() ).
Общие вопросы по коду
если нет 'E' то и не инициализирует. Только get post cookie server
если register_long_arrays = off и auto_globals_jit = On то переменные SERVER и ENV будут инициализироваться только при непосредственном обращении к ним. Обращение к GLOBALS не в счет.
register_long_arrays = on видимо инициализирует SERVER и ENV в начале скрипта, и в этом случае auto_globals_jit идет лесом, и эти переменные будут уже в GLOBALS.
-
fooger
Re: Общие вопросы по коду
Sham, большое спасибо! Действительно включил register_long_arrays и появились все глобальные переменные. То есть вывод такой:
1. Php.su ошибся, и на переменную окружения $_ENV, все таки влияют настойки конфигурации PHP (php.ini) . (и им наверное стоит об этом написать, чтобы других не вводили в заблуждение)
2. register_long_arrays влияет и на другие переменные, а не то как
Sham, все верно
?
1. Php.su ошибся, и на переменную окружения $_ENV, все таки влияют настойки конфигурации PHP (php.ini) . (и им наверное стоит об этом написать, чтобы других не вводили в заблуждение)
2. register_long_arrays влияет и на другие переменные, а не то как
написано в документации
, что эта опция включает только "устаревшие длинные предопределенные переменные типа $HTTP_*_VARS".Sham, все верно
?-
Sham
Re: Общие вопросы по коду
имхо официальный мануал на php.net, там официальный перевод и последняя инфа в оригинале.
register_long_arrays не рекомендуют использовать (off его), рулите variables_order и auto_globals_jit
эффект такой же.
Код:
только непонятно, зачем вам server и env именно в GLOBALS. Общая инициализация в начале скрипта увеличивает нагрузку. Лучше оставить auto_globals_jit = On.
register_long_arrays не рекомендуют использовать (off его), рулите variables_order и auto_globals_jit
эффект такой же.
Код:
Код: Выделить всё
variables_order = "EGPCS"
register_long_arrays = Off
auto_globals_jit = Offтолько непонятно, зачем вам server и env именно в GLOBALS. Общая инициализация в начале скрипта увеличивает нагрузку. Лучше оставить auto_globals_jit = On.