• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:require_onceについて)

require_onceについて

このQ&Aのポイント
  • MAMPを使用して開発しています。MAMP/htdocsに入っているa.phpから同一階層にあるb.phpを呼びだそうと思いrequire_once('b.php');と記述したのですがエラーが表示されます。
  • エラーメッセージは「Warning: require_once(b.php): failed to open stream: No such file or directory in - on line 13 Fatal error: require_once(): Failed opening required 'b.php' (include_path='.:') in - on line 13」となっています。
  • 色々と試してみたもののうまくいかず、アドバイスをお願いします。

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

  • ベストアンサー
回答No.5

う~ん・・・ 設定・カレントディレクトリともに問題ないように見えますねぇ・・・ 念のための確認ですが、phpファイルの設置場所は /Applications/MAMP/htdocs であっていますか? ファイル名は本当に正しいでしょうか? var_dump(file_exits('b.php')); でファイルが存在しているかわかります。 falseならばファイル名かカレントディレクトリをもう一度見直してください。 trueの場合はファイルのパスは合っているようです。 読み取り権限が付与されているか、排他ロックされていないかなどをご確認ください。

yuu789
質問者

お礼

度々の回答有り難うございます。 b.phpのプログラムをもう一度打ちなおしてみたところうまくいきました。 全角スペースが入っていたのでしょうか… 納得がいきませんがどうにか次の段階に進めそうです。 ご迷惑おかけしました。ありがとうございます

その他の回答 (4)

回答No.4

No.3です。 >設定が問題な気がしてきたのですが設定を変更するのならどこの部分になるのでしょうか? php.iniの include_path= の場所が該当します。 しかしエラーを見る限り設定は問題ないように見えます(カレントディレクトリは設定されているようです) ほかの設定が邪魔をしているのかも・・・ いまふと思いついたのですが、 もしかしたらカレントディレクトリが違うのかもしれません。 getcwd()でカレントディレクトリを取得します。 エラーを起こす場所の直前で echo(getcwd()); などと記述してファイルが設置されているディレクトリと一致するか確認してみてください。 異なっている場合、スクリプト内で別の場所を指定しているなんてことはないでしょうか? 現状思いつくのはそれくらいです。

yuu789
質問者

補足

phpinfoでinclude_path=を調べてみたところ、 .:/Applications/MAMP/bin/php/php5.3.6/lib/php となっていました。 そして、echo(getcwd());を記述した所 /Applications/MAMP/htdocs と表示されました。 どこかおかしい所ありますか? 何度も申し訳ありません。

回答No.3

require_once('./b.php'); としても結果は同じでしょうか? また、フルパスで指定した場合はどうなるでしょう? PHPの設定かファイルのパーミッションがおかしいのかなと感じます。

yuu789
質問者

補足

皆様、回答ありがとうございます。 require_once('./b.php'); でやっても結果は同じでした。 設定が問題な気がしてきたのですが設定を変更するのならどこの部分になるのでしょうか?

  • ponta1971
  • ベストアンサー率30% (361/1191)
回答No.2

このエラーは表示されたそのままでしょうか? >(include_path='.:') この部分が気になるのですが、設定はちゃんとできていますか? (あくまで、勘なのでなんともいいがたいですが・・・。) とりあえず、エラーが発生している「a.php」の13行目あたりのソースと色々試したという内容を書いたほうが回答を得やすいのではないでしょうか。

回答No.1

a.phpの呼び出し元は何処でしょう? 以下のサイトが参考になるかと思いますので、参照してみてください。 url : http://www.hoge256.net/2007/08/61.html

yuu789
質問者

補足

htdocs/ |-a.php | |-b.php といったディレクトリ構成となっています。 参考URLページを読んで幾つか試してみたのですがやはりダメでした。 引き続きよろしくお願いします。

関連するQ&A