• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レンタルサーバーにてのrequireがうまくいきません。)

レンタルサーバーでrequireがうまくいかない問題

このQ&Aのポイント
  • レンタルサーバーでrequireが正常に機能しない問題が発生しています。
  • index.phpから特定の外部ファイルをrequireすると、フリーレンタルサーバーでは正常に読み込めないようです。
  • いくつかの書き換え方法を試しましたが、エラー表示はなく未解決のままです。PHPの勉強中で解決策を教えていただけないでしょうか?

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

  • ベストアンサー
  • tumeno
  • ベストアンサー率41% (5/12)
回答No.1

pathが合っていないのでしょう。 次のように記述してエラー表示すればわかると思います。 ini_set("display_errors", "On");

ppalot
質問者

お礼

ini_set("include_path", dirname(__FILE__) ."/外部用フォルダ/phpフォルダ/" ); とすることで解決しました。 どうも最後の「/」が余計だったようです。 ありがとうございました。

ppalot
質問者

補足

tumenoさんご指導ありがとうございます。 ini_set("display_errors", "On");を記述したところ 下記の3行のエラーが表示されました。 Warning: require() [function.require]: Unable to access /home/free/ユーザ名/Webdir/公開フォルダ/外部用フォルダ/phpフォルダ/外部.php in /home/free/ユーザ名/Webdir/公開フォルダ/index.php on line 84 Warning: require(/home/free/ユーザ名/Webdir/公開フォルダ/外部用フォルダ/phpフォルダ/外部.php) [function.require]: failed to open stream: No such file or directory in /home/free/ユーザ名/Webdir/公開フォルダ/index.php on line 84 Fatal error: require() [function.require]: Failed opening required '/home/free/ユーザ名/Webdir/公開フォルダ/外部用フォルダ/phpフォルダ/外部.php' (include_path='.:/usr/share/pear') in /home/free/ユーザ名/Webdir/公開フォルダ/index.php on line 84 「 (include_path='.:/usr/share/pear')」とでていますので 本来はこのディレクトリに置かないといけないのでしょうか? ルートフォルダに置いた場合はローカルでもレンタルサーバーからでも 読み込めるのでその違いがいまいちわかりません。 またこのエラーの場合の解決策は 「ini_set("include_path", "インクルードに使用したい絶対パス/相対パス" );」なのかと思い 「ini_set("include_path", ".:/home/free/ユーザ名/Webdir/公開フォルダ/外部用フォルダ/phpフォルダ/" );」 としてみましたがうまくいきませんでした。 どこが間違っているのかご指摘いただけないでしょうか? よろしくお願いします。

関連するQ&A