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 ”