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」となっています。
  • 色々と試してみたもののうまくいかず、アドバイスをお願いします。
回答を見る
  • ベストアンサー

require_onceについて

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 とエラーが表示されます。色々と試してみたもののうまくいかず。 アドバイスを宜しくお願い致します。

  • yuu789
  • お礼率8% (153/1886)
  • PHP
  • 回答数5
  • ありがとう数1

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

  • ベストアンサー
回答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

  • require_onceでファイルが開けない!?

    requre_onceでのファイルの読み込みが上手くいかないらしく、次のようなエラー文が出てしまい困っております。 =========エラー文=================== Warning: require_once() [function.require-once]: URL file-access is disabled in the server configuration in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 Warning: require_once(http://waku2work.com/mysql2.php) [function.require-once]: failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 Fatal error: require_once() [function.require]: Failed opening required 'http://waku2work.com/mysql2.php' (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\wakuphp\girlup_result_kanryou.php on line 6 ================================ 問題の6行目のソースコードは以下の通りです。 ======ソースコード6行目================= require_once("http://waku2work.com/mysql2.php"); ================================ この場合、”require_once”が読み込めて無いって事ですよね!? 一応初心者なのですが、気になるのは3つ目のエラー表示で、ローカルのパス表示が出てる点です。 設定がうまくいってないのでしょうか? 有識者の方いらっしゃいましたら、どうか宜しくお願いします!

    • ベストアンサー
    • PHP
  • PHP requireでのURLパラメータ指定

    PHPにてアクセスカウンターを作っているのですが、呼び出したときのパラメータにて合計カウント数、本日のカウント数、昨日のカウント数のどれを表示するのか分けるプログラムを作成しました。 直接アドレスバーにて、 http://localhost/counter/count.php?mode=total とパラメータ指定したときにはきちんと表示出来るのですが、他のPHPファイルから require ("./count.php?mode=total"); で呼び出すと、 Warning: require(./count.php?mode=total) [function.require]: failed to open stream: No such file or directory in C:\xampp\htdocs\counter\index.php on line 7 Fatal error: require() [function.require]: Failed opening required './count.php?mode=total' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\counter\index.php on line 7 というエラーが出てしまいます。 色々調べたところ、相対パス指定のときにはパラメータ指定が出来ないという情報があったので、絶対パスで指定してみたのですが、やはり上手くいきません。 Warning: require() [function.require]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\xampp\htdocs\counter\index.php on line 7 Warning: require(http://localhost/counter/count.php?mode=total) [function.require]: failed to open stream: no suitable wrapper could be found in C:\xampp\htdocs\counter\index.php on line 7 Fatal error: require() [function.require]: Failed opening required 'http://localhost/counter/count.php?mode=total' (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\counter\index.php on line 7 というようにエラーが出てしまいます。 どのようにすれば上手く表示できるでしょうか? 是非回答よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PEAR include_pathについて

    はじめまして。色々と調べてみたのですが解決できずにいます。誰か助けて頂けると助かります。学校の部活で「PEARのXML_RSSでRSSを取得してみよ」という課題が出ました。私の家では全てのPCがマックなのでMAMPをつかって以下のような環境でやっています。そこで http://o-ume8.com/junsdiary2/archives/2006/08/20060806_1726.phpを参考に課題に取りかかろうとして試しにPEAR_Infoを試してみたのですが Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in /Applications/MAMP/htdocs/pear_info.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.:/Applications/MAMP/bin/php5/lib/php') in /Applications/MAMP/htdocs/pear_info.php on line 2 の様なエラーが出てしまいます。 pathが通ってないのでしょうか? それとターミナルでphp -v と打つともとのOSの4.4.4と出ます。 phpinfoではちゃんと5.2.0と出ます。 ご教授お願いいたします。 =====環境==== MAMP 1.5 beta 1 PPC os osx 10.4.8 Apache/2.0.59 php 5.2.0 <php.ini> include_path = ".:/Applications/MAMP/bin/php5/lib/php"

    • 締切済み
    • PHP
  • PEARのインストール

    初めまして。今日からphpの勉強を始めた超・初心者です。 PEARのインストールがうまくいかず、下記のエラーが出ます。他の回答も試してみましたが、うまくいきません。 Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\phpbook\pear_info.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'PEAR/Info.php' (include_path='.;c:\php\includes;c:\php\PEAR;') in C:\Program Files\Apache Group\Apache2\htdocs\phpbook\pear_info.php on line 2 apache2.0.63 php5.1.6 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ZendFramework 環境設定

    現在、Zendframeworkで開発していこうと考えていたんですが、以下のエラーがでて先に進めません。本来は「http://localhost」とアクセスすると画面が表示されるはずなのですがダメです。 環境[OS X] サーバー[Xampp for mac] Warning: require_once(Zend/Controller/Front.php): failed to open stream: No such file or directory in /Applications/XAMPP/xamppfiles/htdocs/index.php on line 2 Fatal error: require_once(): Failed opening required 'Zend/Controller/Front.php' (include_path='.:/php/includes:/Applications/XAMPP/ZendFramework/library/Zend') in /Applications/XAMPP/xamppfiles/htdocs/index.php on line 2

    • 締切済み
    • PHP
  • PHP PEARパッケージのincludeができない。

    PHP PEARパッケージのincludeができない。 お世話になっております。 phpのPEARパッケージのincludeができません。 行うと PHP Warning: require_once(File/CSV.php): failed to open stream: そのようなファイルやディ レクトリはありません in /var/www/httpdocs/XXXXXXXX.php on line 10 PHP Fatal error: require_once(): Failed opening required 'File/CSV.php' (include_path='.:/usr/share/pear') in /var/www/httpdocs/XXXXXXXX.php on line 10 となってしまいます。 エラーメッセージ中の/usr/share/pear上に確かに存在します。 何か他に条件などあるのでしょうか? お願いいたします。

    • ベストアンサー
    • PHP
  • phpExcelReaderの使い方について

    phpExcelReaderをダウンロード、解凍し、解凍されたデータ内の「Excel」フォルダを、 [C:\php\PEAR\Spreadsheet\] (ExcelWriterを使用しているので、Spreadsheetフォルダが存在します) に入れました。そして、30行目辺りに、 [require_once 'Spreadsheet/Excel/oleread.inc';] と追加しました。 上記の手順で使えるようになると思っていたのですが、どうも使えないようです。 PHPの構文内では、まず初めにreader.phpをrequire onceで呼び出しているのですが、 failed to open stream、Failed opening requiredのエラーが出てしまいます。 何か間違った点等ありましたら、ご指摘をいただければと思います。 最後に、reader.php読み出しまでの構文とエラー内容を書いておきます。 読み出し部-------------- <?php require_once("Spreadsheet/Excel/reader.php"); $xls = new Spreadsheet_Excel_Reader(); $xls->setOutputEncoding('UTF-8'); //以下Excel処理... ------------------------- エラー内容--------------- Warning: require_once(Spreadsheet/Excel/reader.php) [function.require-once]: failed to open stream: No such file or directory in C:\【phpパス】.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'Spreadsheet/Excel/reader.php' (include_path='.;C:\php\pear;c:\php\includes') in C:\【phpパス】.php on line 2 -------------------------

    • ベストアンサー
    • PHP
  • include_pathについて

    php.ini内のinclude_pathをinclude_path=".;C:\php\include"と設定してC:\windows\(不安なのでC:\php\にも)に置いているのですが、 なぜかphpinfo()を開いて確認すると".;C:\php5\pear"となっています。 Loaded Configuration File を見ても C:\Windows\php.ini となっていますし。 require_once "DB.php"を実行したときに以下のエラーが出たので、 db.phpのインストールも済んでいることから、include_pathが正しく設定されていないのが問題だと思うのですが・・・ Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\users.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'DB.php' (include_path='.;C:\php5\pear') in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\users.php on line 2 php.ini以外にも設定しなければいけない個所があるのでしょうか?

    • 締切済み
    • PHP
  • さくらのレンタルサーバーでDB.php読み込み失敗

    下記の環境でPHPを書いています。 ・さくらのレンタルサーバ スタンダード ・PHP 5.2.13 ・php.iniファイルパス /home/******/www/php.ini その中で、require_once("DB.php");と記述をしているのですが、 その部分で下記のエラーが発生します。 Warning: require_once(DB.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/www/class/db.class on line 6 Fatal error: require_once() [function.require]: Failed opening required 'DB.php' (include_path='.:/usr/local/php/5.2.13/lib/php') in /home/xxx/www/class/db.class on line 6 2ヶ月ほど前に作成した時は間違いなく正常に動作していたのですが・・・。 久しぶりにアクセスしたらこんなエラーが出ていて途方にくれています。 推測できる原因はありますでしょうか?

    • ベストアンサー
    • PHP
  • require_onceについて

    いつもお世話になっております。 超初級な質問で申し訳ないのですが困ってます。 下記のような4つのclassがあります。 A_Class------------ <?php require_once('Base_Class'); class A_Class extends Base_Class{} Base_Class------------------ <?php require_once('B_Class'); abstract class Base_Class { public function hoge (){ $b = new B_Class(); $b->hoge(); } } B_Class--------------------- <?php require_once('C_Class'); class B_Class{ public function hoge (){ $c = new C_Class(); } } C_Class--------------------- <?php require_once('Base_Class'); class C_Class extends Base_Class{} ほかのファイルからrequire_once('A_Class');をすると PHP Fatal error: Class 'Base_Class' not found in C_Class.class.php on line 2 となります。 Base_Classのrequire_once('B_Class');をクラス定義の下に書けば通るのですが、 できればrequire_onceは上部にそろえておきたいです。 require_onceを下に書かずに修正する方法がありましたらご教授お願いします。

    • 締切済み
    • PHP