ホームページ >バックエンド開発 >PHPチュートリアル >PHP は「./」と「/」の相対パスを認識できません。設定の何が問題なのでしょうか?
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__);?>
IIS を使用していると思います
マネージャーの Web サイトのプロパティ タブで [親パスを有効にする] をオンにする必要があります
だと思いますIIS を使用しています
マネージャーの Web サイトのプロパティ タブで [親パスを有効にする] をオンにする必要があります
http://www.softbar.com/blog/post/187.html
自分で探してください。私は数年前にそれをしました。今は思い出せません
http://www.softbar.com/blog/post/187.html
自分で探してください。数年前にやりました。今ははっきり思い出せません
あると思いますたとえば、PHP Web サイトが wwww/csdn にバインドされている場合、ゲストの権限は csdn にのみ割り当てられ、wwww には割り当てられないため、
wwww の権限を増やそうとします
という問題が発生します。やってからわかる!
問題は解決しました。お二人がおっしゃったような問題ではありません。同じバージョンの PHP をインターネットからダウンロードし、その中の php.ini をサーバー上の php.ini に置き換えました。 php.iniの設定が間違っているのかわかりません。これは Alibaba Cloud のホストです。PHP が最初から付属していたのか、それとも後からインストールされたのかはわかりません。とにかく、この設定では c:php を取得できません。ディレクトリ