質問
- open_basedirのエラーが出る
-
本文:
https://secure.netowl.jp/bbs/detail.cgi?td=713
と同じ質問なのですが、Warningが出てしまい困っています。
皆さんrequire_onceを使用されている方は、どのように設定すればWarningが解消されるか、教えて頂けないでしょうか。 - 緊急度:通常投稿者:aoitoriさん投稿時間:2013/08/30 00:56
回答 No.2055
-
本文:
引き続きいろいろ試しています。
今回、スターサーバープラスに移転を行い、
移転前のサーバで正常動作していたスクリプトを、require_onceに指定していたファイルパスだけを変更して、スターサーバープラスに置いています。
ファイル/フォルダパーミッションの見直しや、
最新のSmartyではなく、移転前のサーバでうまく動いていた時のSmartyのファイルを持ってきて置き直したり
試していますが、うまくいきません。
プログラムの内容はメールフォームですが、
フォームの内容をセッションから消去する処理の時にWarningが出て、セッション内容の消去がされない状態です。
($_SESSION = array();で消しています)
このプログラムからアクセスするファイルはすべて自分のpublic_html以下にあるファイルで、それ以外のファイルで思い当たるものは、セッションファイルだけです。
open_basedirのエラーが出ていることからも、このサーバでpnp.iniにopen_basedirの設定をしていることによるエラーだと思いますが
ユーザーレベルでの解決方法がわかる方がいらっしゃいましたら、ご教示頂けますでしょうか。 - 投稿者:aoitoriさん 投稿時間:2013/08/31 10:22
回答 No.2056
-
本文:
解決できました。
open_basedirが設定されていると、$_GETのリクエストパラーメーターが使えないことに起因して、プログラムが動作しなかったようです。
この部分を修正したところ、Warningは出ますがプログラムの動作的には問題ないようなので、あとは抑止して対応したいと思います。
- 投稿者:aoitoriさん 投稿時間:2013/08/31 11:53
回答 No.2053
・下層フォルダへの相対パス指定
・絶対パス
なら、ワーニングが出ないと思いますが、どうでしょうか?
まずは、絶対パス指定での読み込みを試してみては?
質問者からのコメント
ありがとうございます。
現在、public_htmlの下にSmartyを入れて運用しており、require_onceを使ってSmarty本体の読み込みをしています。(/homeからの絶対指定で読み込んでいます。)
が、プログラムを走らせると
Warning: include() [function.include]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/アカウント/ドメイン名/:/usr/share/pear53/) in /home/アカウント/ドメイン名/public_html/Smarty/libs/sysplugins/smarty_internal_templatebase.php on line 161
のようなWarningが出ます。
メッセージから、include_pathが足りないのかと思い、php.iniのinclude_pathに、Smarty/libsフォルダへの絶対パスを設定してみましたが同様のWarningになってしまいます。
(なぜか改行が効かず、読みにくくなり申し訳ありません。)