2008-09-03 7 views
2

失敗などが.htaccessファイル内設定はPHPでのパスが断続的に私は両方を試してみました

php_value include_path ".:/usr/share/php5:/usr/share/php5/PEAR:lib:app/classes" 

を。

どちらの方法も実際にはです。ですが、間欠的です。つまり、約37ページのリクエストで正常に動作し、約42ページのリクエストが失敗し、結果的にサイトをクラッシュさせる致命的なエラーを引き起こすrequire()コールが発生します。

私は何が起こっているのかを見つけようとすることを始めるべきかもわかりません!あなたのインクルードパスにカレントディレクトリを重複ようcnote

@


が見えます。文字列から '。:'のいずれかを削除してみてください。

は、ザ・スクリプトのバージョンでは、もともとこれ

ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . 'lib' . PATH_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'classes'); 

とした。:。:既存のパスから来た:

ini_get('include_path') 

私はとにかくそれを削除しようとしたし、問題が解決しません。

+0

失敗した要求に正確なエラーを投稿できますか?スクリプトは、以前は同じディレクトリにあったが、サブディレクトリに移動したもの、またはその逆のものをスクリプトに含めようとしていませんか? –

答えて

3

(get_include_path()の端には、あなたのini/htaccessのパスが残るように設定されているものを意味します) PHP bug in 5.2.5

include_pathに "admin_flag"を設定すると、いくつかの要求でインクルードパスが空になり、Pleskはadmin_flagをデフォルト設定で何か他のものに設定します。 PHPのアップデートがこの問題を解決しました。

http://bugs.php.net/bug.php?id=43677

0

あなたのインクルードパスに現在のディレクトリが重複しているようです。文字列から '。:'のいずれかを削除してみてください。

4

set_include_path()を試しましたか?利点として、これは失敗時にfalseを返し、少なくとも発生をキャッチして意味のあるデバッグデータを生成できるようにします。 また、windows/* nixで異なるので、定数PATH_SEPARATORを使用する必要があります。具体的な例として

set_include_path('.' . PATH_SEPARATOR . './app/lib' . PATH_SEPARATOR . get_include_path()); 

それは問題が関連して判明

関連する問題