• ベストアンサー

phpのinclude_pathのエラーについて

phpで以下のエラーが出ております。 いろいろ試しているのですが、解決できません。 各種設定ファイルに設定の誤りがあるのでしたら教えていただきたいと思います。 1)Fatal error: main(): Failed opening required '' (include_path='.;c:\php\includes') in C:\Apache2\htdocs\aaa\ins.php on line 26 2)Fatal error: main(): Failed opening required '' (include_path='.;c:\php4\pear') in C:\Apache2\htdocs\aaa\ins.php on line 26 c:\php4\pearというディレクトリは存在しないがなぜか出る。 3)Fatal error: main(): Failed opening required '' (include_path='.;c:\php\includes\aaa') in C:\Apache2\htdocs\aaa\ins.php on line 26 4)Fatal error: main(): Failed opening required '' (include_path='.;C:\Apache2\htdocs\aaa') in C:\Apache2\htdocs\aaa\ins.php on line 26 ##ins.phpのソース: $tpl = "ccc.tpl"; require_once($tpl); ##ディレクトリ構成 C:\Apache2\htdocs\aaa ins.php ccc.tpl ##php.iniの設定: ---有効にした場合1)のメッセージ include_path = ".;c:\php\includes"  ---コメントアウトした場合2)のメッセージ ;include_path = ".;c:\php\includes"  ---以下のpathにフォルダを作成してccc.tplを配置した場合3)のメッセージ include_path = ".;c:\php\includes\aaa" ---以下のpathを指定した場合4)のメッセージ include_path = ".;C:\Apache2\htdocs\aaa" ##httpd.confの設定: line 231 DocumentRoot "C:/Apache2/htdocs" line 256 <Directory "C:/Apache2/htdocs"> AllowOverride Options AuthConfig ##環境 os:winXP apache2:apache_2.0.58 php:PHP Version 4.4.1

質問者が選んだベストアンサー

  • ベストアンサー
  • funaho
  • ベストアンサー率58% (43/74)
回答No.2

>##ins.phpのソース: >$tpl = "ccc.tpl"; >require_once($tpl); ins.phpソースを以下のようにしてみて下さい。 $tpl = "./ccc.tpl"; require_once($tpl);

go1126
質問者

お礼

ccc.tplのみ文字コードが違って保存されていました。 文字コードを修正し、$tpl = "./ccc.tpl"; と記述することで無事解決しました。 ありがとうございました。

go1126
質問者

補足

回答をありがとうございます。 ins.phpを以下のように変更しましたが、2)のエラーが出ました。php.iniのinclude_path=はコメントにしています。 $tpl = "./ccc.tpl"; require_once($tpl); Fatal error: main(): Failed opening required '' (include_path='.;c:\php4\pear') in C:\Apache2\htdocs\aaa\ins.php on line 26 ソースよりもphp.iniの設定が優先されているようです。

その他の回答 (1)

  • asahina02
  • ベストアンサー率47% (95/202)
回答No.1

ins.phpのソースというのは 書かれている2行だけですか?? まぁ省略されていて、その行が26行目なんだと思いますが・・ 違っていたら以下は無視してください 単純に$tpl(ccc.tpl)が見つからないだけだと思いますが。 パス指定してないので、カレントフォルダを探して、ない場合は 設定されているパスを検索しに行ってるのだと思います。 なので、設定のミスというよりは、プログラム関連ファイルの 設置場所ミスでしょうか。 ccc.tpl の場所を再確認してみてはいかがでしょうか。 2)のphp4っていうのがphpデフォルトなのかしら?

go1126
質問者

お礼

ccc.tplのみ文字コードが違って保存されていました。 文字コードを修正し、$tpl = "./ccc.tpl"; と記述することで無事解決しました。 ありがとうございました。

go1126
質問者

補足

回答をありがとうございます。 ccc.tpl の場所は C:\Apache2\htdocs\aaa 配下です。 C:\Apache2\htdocs\aaa 配下に ccc.tpl ins.php が同階層で配置されています。 phpの中でパス指定するということでしょうか。

関連するQ&A