Aucune variable d’environnement n’est disponible via PHP-fpm + nginx

J’ai essayé de modifier php.ini de la manière suivante:

variables_order = "GPCSE" register_globals = On 

Mais la variable requirejse (PATH) n’est ni dans le tableau $ _ENV, ni acceptable via getenv (‘PATH’). Comme le titre l’indiquait, j’exécute nginx + php-fpm (Ubuntu 10.04)

PS exécutant la prochaine commande dans la console donne un résultat correct: php -r “echo getenv (‘PATH’);”

Je suppose que PATH est une variable d’environnement de bash, mais tant que php-fpm ne commence pas par bash, il n’a pas besoin de variables. Un moyen de les inclure?

Merci.

Upd # 1 En tant que solution temporaire, j’ai trouvé la variable PATH stockée dans le fichier ‘/ etc / environment’. Alors je vais juste le lire à partir de là. Si quelqu’un a besoin d’un code:

 preg_match('/^(PATH)="?([^"]+)"?$/i', file_get_contents('/etc/environment'), $match); putenv($match[1]."=".$match[2]); 

J’ai rencontré ce problème lors de la mise à niveau de mon installation OwnCloud vers la version 8.1.

Ils décrivent un correctif dans leur documentation

Résumé: Localisez votre fichier www.conf dans votre dossier de configuration php5-fpm (pour Ubuntu, il s’agit de /etc/php5/fpm/pool.d/www.conf ) et décommentez la ligne env [PATH] requirejse.

Mettez éventuellement à jour le contenu de la variable avec la sortie de php -r "echo getenv('PATH');"

Vous pouvez le spécifier via un chemin d’inclusion: http://www.php.net/manual/en/ini.core.php#ini.include-path

Vous pouvez spécifier votre php.ini (même si vous voulez un chemin spécifique au lieu de tout inclure)

include_path = “.: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games: / home / fo ta / Développement / adt -bundle-linux-x86_64-20130917 / sdk / platform-tools ”