Требуется задать переменную окружения для пользователя www-data
, что бы использовать её в PHP-скриптах.
Попытки сделать это через файлы /etc/apache2/envvars
, /etc/profile.d/music.sh
и /etc/environment
результата не принесли.
Вместо этого – можно использовать модуль mod_env
и директиву SetEnv
.
Например:
<VirtualHost *:80> SetEnv SLIM_MODE "dev" ServerName music-uk.domain.tld ServerAlias music-de.domain.tld ServerAdmin webmaster@localhost DocumentRoot /var/www/vhosts/music.domain.tld ErrorLog ${APACHE_LOG_DIR}/music/music.domain.tld-error.log CustomLog ${APACHE_LOG_DIR}/music/music.domain.tld-access.log combined <Directory /var/www/vhosts/music.domain.tld> Options Indexes FollowSymLinks MultiViews AllowOverride All IndexOptions Charset=UTF-8 </Directory> </VirtualHost>
И скрипт для проверки:
<?php echo "check\n"; if(isset($_SERVER['SLIM_MODE']) && $_SERVER['SLIM_MODE'] == "staging") { $location = "staging"; } if(isset($_SERVER['SLIM_MODE']) && $_SERVER['SLIM_MODE'] == "production") { $location = "live"; } if(isset($_SERVER['SLIM_MODE']) && $_SERVER['SLIM_MODE'] == "dev") { $location = "dev"; echo "DEV\n"; var_dump($location); } ?>
Проверяем:
# curl music-uk.domain.tld/var.php check DEV string(3) "dev"