Назад | Перейти на главную страницу

Как мне поместить новую строку в переменную среды в директиве Apache SetEnv?

Я хотел бы иметь символ новой строки в переменной среды. я пробовал

SetEnv DI_collection_clients_list "client1
client2"

что приводит к

Invalid command 'client2"', perhaps misspelled or defined by a module not included in the server configuration

при перезапуске Apache.

Я также пробовал

SetEnv DI_collection_clients_list "client1\nclient2"

что приводит к тому, что переменная, конечно, имеет \n вместо новой строки.

В Setenv директива является частью mod_env.c который использует апр функция apr_table_setn для хранения переменных среды в таблице. Если вы посмотрите на исходный код вы увидите, что таблица просто хранит данные, которые ей передаются, без какого-либо расширения символов.

Что бы вы ни пытались сделать, делать это таким образом почти наверняка неправильно.