ホームページ > バックエンド開発 > PHPチュートリアル > PHP は「./」と「/」の相対パスを認識できません。設定の何が問題なのでしょうか?

PHP は「./」と「/」の相対パスを認識できません。設定の何が問題なのでしょうか?

WBOY
リリース: 2016-06-20 12:34:20
オリジナル
1741 人が閲覧しました

PHP のバージョンは 5.3.29 ですが、以前は他のサーバーでは正常に動作していましたが、現在は相対パス「./」と「../」を持つものはすべて認識されません。これは次のようなものです:
警告: include_once(../../../../../Lang/zh-cn/calendar.php): ストリームを開けませんでした: そのようなファイルまたはディレクトリはありませんD :wwwrootxingxingwebadminTpldefaultCommonjscalendarcalendar.php 行 9

警告: include_once(): '../../../../../Lang/zh-cn/calendar.php' を含めるために開くことができませんでした(include_path='.;C:phppear') D:wwwrootxingxingwebadminTpldefaultCommonjscalendarcalendar.php の 9 行目

注意: 未定義の変数: _LANG D:wwwrootxingxingwebadminTpldefaultCommonjscalendarcalendar.php の 11 行目

警告: 無効ですD:wwwrootxingxingwebadminTpldefaultCommonjscalendarcalendar.php の 11 行目で foreach() に指定された引数

ファイル パスは他のサーバーでは正常なので問題ありません。 「./」を dirname(__FILE__) に変更してもプログラムは正常に動作します。しかし、相対パスは認識されません。この状況の原因が PHP の設定が間違っているのか、IIS の設定が間違っているのかを知りたいです。

他人が作ったプログラムで相対パスが多く使われているため、いちいち絶対パスに変更するのは大変です。

次のネットワーク ディスク リンクは phpinfo() のコードです:
https://pan.baidu.com/s/1qWZHaKs


ディスカッションへの返信 (解決策)

<?phpecho getcwd();echo dirname(__FILE__);?>
ログイン後にコピー

上記のコードの出力は次のとおりです:
C:php
D:wwwrootxingxingweb
追加説明: Web サイトのルート ディレクトリに echo getcwd(); を出力すると、次のように表示されます。 D:wwwrootxingxingweb、および D :wwwrootxingxingweb

IIS を使用していると思います
マネージャーの Web サイトのプロパティ タブで [親パスを有効にする] をオンにする必要があります

だと思いますIIS を使用しています
マネージャーの Web サイトのプロパティ タブで [親パスを有効にする] をオンにする必要があります



モデレーター、ありがとうございます。以前は IIS6 でこの設定をしていた記憶がありますが、現在は IIS7 を使用しています。見つかりません。インターネット上で見つかったこのオプションは、ASP の親パスを設定する方法でもあります
IIS7、win2008 を使用していますが、サーバー構成をどこに設定すればよいかわかりません。具体的には

http://www.softbar.com/blog/post/187.html

自分で探してください。私は数年前にそれをしました。今は思い出せません

http://www.softbar.com/blog/post/187.html
自分で探してください。数年前にやりました。今ははっきり思い出せません



これは ASP の設定です、PHP には見​​当たりません、または IIS7 にはこれがありません

あると思いますたとえば、PHP Web サイトが wwww/csdn にバインドされている場合、ゲストの権限は csdn にのみ割り当てられ、wwww には割り当てられないため、
wwww の権限を増やそうとします

という問題が発生します。やってからわかる!

問題は解決しました。お二人がおっしゃったような問題ではありません。同じバージョンの PHP をインターネットからダウンロードし、その中の php.ini をサーバー上の php.ini に置き換えました。 php.iniの設定が間違っているのかわかりません。これは Alibaba Cloud のホストです。PHP が最初から付属していたのか、それとも後からインストールされたのかはわかりません。とにかく、この設定では c:php を取得できません。ディレクトリ

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート