Требуется задать переменную окружения для пользователя 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"