0

私はばかみたいに感じますが、何が悪いのか理解できず、私が試したすべての解決策(以下にリストされています)は失敗しました。

問題:

これは機能しません:

$settings = file_get_contents('settings'); \\ should search current directory

このファイルはどこにありますか?

/apps/foxyman/model/settings

私が試したこと:

  1. include_pathディレクティブを次のように変更しますphp.ini

    。:/ apps / foxyman

    そして、Apacheを再起動します。そして、はい、私は実行phpinfo();して、それが設定されていることを確認しました。

  2. Apacheでdoc_rootディレクティブを同じものに変更しphp.ini、再起動します。

  3. 右側のhttpd.confファイルのドキュメントルート設定を次のように変更します。DocumentRoot "/apps/foxyman"

  4. $settings = file_get_contents('model/settings'); // should search include_path

そして、これはどれも機能しません。

はい、すべてのファイルにインクルードパスを設定することを含む他の解決策がある可能性があることは知っていますが、それはしたくありません。一度解決して、もう一度考えたくないのです。

私にとって、そして多分私はただのばかです(コメントで自分を殺すように言って私に知らせてください)が、phpが現在のディレクトリでファイルを見つけることができないのはばかげているようですANDは、設定したインクルードパスを検索していないようです。そして、あなたが尋ねる前に、はい、ファイルは存在します。

もう1つ、次のメソッドの出力があります。

echo getcwd();
echo get_include_path();
echo $_SERVER['DOCUMENT_ROOT'];

/apps/foxyman/model
.:/apps/foxyman
/apps/foxyman
4

1 に答える 1

2

デフォルトでは、 file_get_contents()はインクルード パスを使用しません! インクルード パスを使用する場合はtrue、2 番目の引数に渡します。

$settings = file_get_contents('settings', true);
于 2012-12-20T17:31:38.223 に答える