web-dev-qa-db-ja.com

PHPで `.user.ini`ファイルを正しく使用するには?

私の作業ディレクトリには2つのファイルがあります:index.php.user.ini

.user.ini

display_errors=on

; http://be2.php.net/manual/en/filter.configuration.php#ini.filter.default
;filter.default = "full_special_chars"

index.php

<?php
//ini_set("display_errors", "on");

// Use `.user.ini` file:
// http://php.net/manual/en/configuration.file.per-user.php
echo "Setting for 'user_ini.filename': " . ini_get("user_ini.filename");
echo "\n\n";


// It takes up to five minutes, until `.user.ini` is re-read:
echo "Setting for 'user_ini.cache_ttl': " . ini_get("user_ini.cache_ttl");
echo "\n\n";

// http://php.net/manual/en/function.ini-get.php
echo "Setting for 'display_errors': " . ini_get("display_errors");
echo "\n\n";
echo "Setting for 'filter.default': " . ini_get("filter.default");
echo "\n\n";

// php -S localhost:8000
// http://localhost:8000/

上記の.user.iniファイル(作業ディレクトリ内)を使用すると、"Setting for 'display_errors': "の値がonまたは1であることが期待されますが、空です。

.user.ini-ファイルを使用して設定を正しく変更するにはどうすればよいですか?

php --iniを実行すると

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-readline.ini

私の.user.iniファイルが含まれていません。

.user.ini-ファイルを明示的に追加すると機能します。

php --php-ini .user.ini index.php

しかし、特定のフォルダーからスクリプトを実行するときに自動的に読み取られるようにしたいのですが。

11
Edward

documentation には次のように書かれています:

これらのファイルはCGI/FastCGI SAPIによってのみ処理されます

そして

Apacheを使用している場合は、.htaccessファイルでも同じ効果が得られます。

したがって、PHPをApacheモジュールとして、コマンドラインから、または組み込みサーバーを使用して実行すると、.user.ini-ファイルは処理されません。

サーバーAPIを見つけるには、次のコンテンツを含むPHPスクリプトを生成し、Webブラウザーで呼び出します。

<? phpinfo();
16
R_User

によると http://php.net/manual/en/configuration.file.per-user.php

メインuser_ini.filenamephp.iniをチェックして、空白ではなく、実際に解析されていることを確認してください。その値が空白の場合、PHPはまったくスキャンしません。

user_ini.cache_ttlの値も参照してください

見てください

php.netマニュアル

また、この質問をチェックしてください 。user.iniのロードPHP confファイルを使用してPHP 5.4内部サーバー?

2
Alex Andrei