0

(64ビット)にセットアップしPHPています。ここで見つけることができた 5.3.13 をWindows Server 2008 SP1構成しました。IIS で fastCGI を使用するように構成しました。余談ですが、5.4.3 ではなく 5.3.13 を使用した理由は、必要な拡張機能の 5.4 バイナリが見つからなかったからです。PHPPHPphp_win32service

私が遭遇している問題は、 でinclude_path設定されたphp.iniが によって完全に無視されていることPHPです。php.iniini の他の設定を変更して、正しい変更を行っていることを確認しました。これらの変更は、echo で確認できますphpinfo。Myphp.iniC:\Windowsフォルダに定義されています。しかし、ini ファイルに何を入れてもinclude_path、インクルード パスとして .;C:\php\pear が常に表示されphpinfoます。

私のiniにあるインクルードパスは、構成され正しく動作している別のサーバーのiniからコピー/貼り付けされています。新しいサーバーと以前のサーバーの唯一の違いは、新しいサーバーが 64 ビットであり、新しいサーバーが fastCGI を使用して PHP 5.3.13 を実行していることです (動作しているサーバーの ISAPI を使用した 5.2.1 とは対照的です)。

include_pathでは、無視されているという事実がバージョン 5.3.13 のバグなのか、それともこの動作が仕様によるものなのか、誰にもわかりませんかfastCGI? php.iniこれを解決するために変更できる設定はありますか?

4

1 に答える 1

0

php.iniこの問題が実際にはファイルのエラーによって引き起こされたことを認めなければならないため、コメントで私がたどり着いた誤った結論は無視してください。;) ファイルの編集中のある時点iniで、コメント行の 1 つの途中に誤って改行文字を入れてしまいました。これにより、iniエラーが発生した時点で の処理が途中で中断されました。5.4.3 をインストールした後、このバージョンが実際に例外を報告し、ブラウザに 500 サーバー エラー メッセージを表示したため、これを発見しました。

それで、私はこれから何を学びましたか?コマンドラインから実行して、常にiniファイルをテストしてください。php -vそうしていれば、iniファイルの解析中に発生したエラーに関するメッセージが表示されたはずです。教訓。:)

于 2013-03-21T08:47:39.867 に答える