こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

投稿日時 - 2006-07-26 15:01:41

QNo.2300644

困ってます

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

>##ins.phpのソース:
>$tpl = "ccc.tpl";
>require_once($tpl);

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

投稿日時 - 2006-07-26 15:53:02

補足

回答をありがとうございます。
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の設定が優先されているようです。

投稿日時 - 2006-07-26 18:20:02

お礼

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

投稿日時 - 2006-08-13 19:12:15

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ins.phpのソースというのは 書かれている2行だけですか??
まぁ省略されていて、その行が26行目なんだと思いますが・・

違っていたら以下は無視してください

単純に$tpl(ccc.tpl)が見つからないだけだと思いますが。
パス指定してないので、カレントフォルダを探して、ない場合は
設定されているパスを検索しに行ってるのだと思います。

なので、設定のミスというよりは、プログラム関連ファイルの
設置場所ミスでしょうか。

ccc.tpl の場所を再確認してみてはいかがでしょうか。

2)のphp4っていうのがphpデフォルトなのかしら?

投稿日時 - 2006-07-26 15:15:01

補足

回答をありがとうございます。
ccc.tpl の場所は
C:\Apache2\htdocs\aaa
配下です。

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

投稿日時 - 2006-07-26 18:16:26

お礼

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

投稿日時 - 2006-08-13 19:12:56