6

次の方法でphp.iniを変更しようとしました:

variables_order = "GPCSE"
register_globals = On

しかし、必要なPATH変数は になく、$_ENV経由でもアクセスできませんgetenv('PATH')Ubuntu 10.04でNginx + PHP-FPM
実行しています。

注: コンソールで次のコマンドを実行すると、正しい結果が得られます。

php -r "echo getenv('PATH');"

それはbashの環境変数だと思いPATHますが、php-fpmがbash経由で起動しない限り、必要な変数はありません。それらを含める方法はありますか?

ありがとう。

Update#1 : 一時的な解決策として、PATH 変数が「/etc/environment」ファイルに格納されていることがわかりました。なので、そこから読んでいきます。コードが必要な場合:

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

3 に答える 3

8

この問題は、OwnCloud インストールをバージョン 8.1 にアップグレードするときに発生しました。

ドキュメントに修正が記載されています

要約: www.confphp5-fpm 構成フォルダー (Ubuntu の場合は/etc/php5/fpm/pool.d/www.conf) でファイルを見つけ、必要な env[PATH] 行のコメントを外します。

必要に応じて、変数の内容を次の出力で更新します。php -r "echo getenv('PATH');"

于 2015-07-08T13:13:10.400 に答える