20

php.ini 構成でいくつかのパスを配線するのではなく、Apache 構成などの他の場所で共有されているシステム変数を使用して構成したいと考えています。私はいくつかの検索を行いましたが、これを行う方法があるかどうかを発見するための適切なキーワードの組み合わせを見つけることができませんでした.

これができるかどうか誰にもわかりますか?

upload_tmp_dir = $SCRATCH_HOME/uploads

これで、SCRATCH_HOME を /tmp や /var/scratch など、私が望むものとして環境にエクスポートできます。

4

5 に答える 5

27

公式文書: https://www.php.net/manual/en/configuration.file.php#example-36

始める前に、構成を指定したいと思います。Windows 7-64 ビット、PHP 5.4.3、Apache HTTP Server 2.2.x を使用しており、環境変数PHP_HOME=C:\tools\php-5.4.3(PHP インストール ディレクトリ) を設定しました。ファイルで変数を使用しhttpd.confますphp.ini

注: 簡潔にするために、一部のテキストを省略します。

httpd.confファイル内

# For PHP 5 do something like this:
LoadModule php5_module "${PHP_HOME}/php5apache2_2.dll"
AddType application/x-httpd-php .php

# configure the path to php.ini
PHPIniDir "${PHP_HOME}"

php.iniファイル内

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "${PHP_HOME}/ext"
于 2012-05-13T09:43:15.657 に答える
18

PHP docsによると、環境変数は実際に構成ファイルで使用できます。

URL を含む php ドキュメントのスクリーンショットと、PHP.ini で許可されている環境変数に関するメモ

使用する構文については何も述べていませんが、*nix 構文を使用する Apache の構成ファイルと同じです。たとえば、PHP でシステムの一時ディレクトリを使用する場合は、次のようにします。

upload_tmp_dir = ${Temp}

次のスクリプトでアクティブであることを確認できます。

<?php
    echo "ini:  " . ini_get('upload_tmp_dir') . "\n";
    echo "env:  " . sys_get_temp_dir()        . "\n";
    echo "temp: " . getenv('temp')            . "\n";
    echo "tmp:  " . getenv('tmp')             . "\n";
?>
于 2013-08-26T18:47:15.873 に答える
1

Apache構成ファイルを介してPHPを構成してみてください:

PHP_admin_value upload_tmp_dir $SCRATCH_HOME/uploads

私にとってはうまくいきます。upload_tmp_dir(psst、 .htaccessを使用して変更することはできません)

于 2009-05-13T15:35:28.637 に答える