2016-10-24 9 views
0

Я использую PHP 5.6.22 и Apache 2.4.18. У меня есть переменная $_SERVER, которую я хочу установить как вложенный массив.

Чтобы уточнить, в начале моего PHP скрипт, я хочу $_SERVER['key'] быть установлен в массиве два уровня, как показано ниже:

$_SERVER['key'] = array('index' => array('sub_index' => 'some_value')) 

Возможно ли это? Заранее спасибо за вашу помощь.

+0

переменные среды доступны через '$ _ENV' супер глобальную переменную, а не через' $ _SERVER'. – arkascha

+0

что такое index и sub_index? Я полагаю, вы не хотите просто поместить код, который вы только что пишете в верхней части вашего скрипта? – jhaagsma

+0

Нет, я не хочу этот массив дословно, но массив этой точной структуры. Точные имена индексов не должны иметь значения – Sean

ответ

1

Создайте файл с именем myenv.php с этим кодом:

<?php 
$_SERVER['key'] = array('index' => array('sub_index' => 'some_value')); 
?> 

Затем добавьте эту строку в .htaccess корневого сайта:

php_value auto_prepend_file myenv.php 

Теперь эти данные будут заселенным в $_SERVER перед загрузкой любого .php файл.

Read more about auto_prepend_file

+0

@Sean: Это сработало для вас? – anubhava

0

Я видел PUTENV и GETENV используя json_*** функции, такие как:

$my_array= array('a'=>14, 'b'=>5); 
PUTENV("my_namee=".json_encode($my_array)); 

..... 
$var = json_decode(GETENV("my_namee"));