1

.user.ini組み込みの Web サーバーを使用する場合、PHP 構成ファイルをどのようにロードしますか?

私のセットアップは次のようなものです:

site
│   include.php
│
├───bin
│       router.php
│       server.bat
│
└───public
        .user.ini
        index.php

ドキュメント ルートはpublicで、ファイルが存在しない場合はにbin\router.phpルーティングされます。public\index.php

を実行して、がロードされていないことphpinfo()を確認しました。.user.ini変更しようとしている設定は ですerror_log

4

2 に答える 2

2

ペタ、私はあなたのコメントから問題が何であるかを小刻みに調べました。組み込みの Web サーバーは 5.4 でのみ導入されました。

この Web サーバーは開発目的でのみ設計されており、本番環境では使用しないでください。

指定されたソケットをリッスンする Web サーバーとして機能します。.user.iniには次のように記載されています。

これらのファイルは、CGI/FastCGI SAPI によってのみ処理されます。この機能は、PECL htscanner 拡張機能を廃止します。Apache を使用している場合は、同じ効果のために .htaccess ファイルを使用します。

つまり、ビルトイン Web サーバーや Apache/mod_php などで .user.ini ファイルを使用することはできません。カスタム php.ini を使用する必要があります。これを行う最も安全な方法は、デフォルトの php.ini (または Apache/mod_php の php_value/flag ディレクティブ) を複製し、開発に必要な行を追加することです。もちろん、スクリプトの起動時にいつでも ini_set コマンドを追加することもできます。

于 2012-06-15T10:11:19.983 に答える
1

私の質問に対する正確な答えではありませんが、私は自分の問題の解決策を見つけました。

ファイルでは、server.bat私はphpサーバーを使用して実行していました

php -S 0.0.0.0:3000 -t public bin/router.php

次のように変更します。

php -c public/.user.ini -S 0.0.0.0:3000 -t public bin/router.php

同じ効果を達成しました。

于 2012-06-14T06:57:57.147 に答える