DOCUMENT_ROOTが完全ではなく、ドメインフォルダーがありません
-
28-10-2019 - |
質問
これまで多くのスレッドを検索しましたが、解決策が見つからないようです。私のphpスクリプトの1つで、サーバードキュメントルートを取得しようとしていますが、取得する値が完全ではなく、ドメインフォルダーが欠落しているだけです。ホスティングやその他の共有が原因だと思います。
現在使用している方法は次のとおりです。 ジェネラコディセタグプレ
そして私が得る道は次のようなものです: ジェネラコディセタグプレ
次のようにする必要があることはわかっていますが: ジェネラコディセタグプレ
SCRIPT_NAMEと比較したところ、パスにmydomainが表示されていることがわかりました。
誰かが私を導いてくれることを願っています。
コミュニティに対して同じ質問を1000回も繰り返してくれてありがとう、申し訳ありません。私はここからいろいろ試してみましたが、今のところ何の役にも立ちません。
更新
残念ながら、 DIR でインデックスファイルを使用することはできません。これはワードプレスの設定であり、ワードプレス機能を含む別のフォルダーで作業していますが、そのためにはdocument_rootが必要です。それが役立つなら。
更新
どうやら次の方法で私のケースは解決しました。いつか誰かを助けるかもしれません: ジェネラコディセタグプレ
基本的には、サーバーのセットアップとドメインがサブドメインとして構成されているためです。
参加してくれたすべての人に感謝します。
解決
PHP 5.3より前は、パスが必要なディレクトリにファイルを配置し、定数を定義できました。 ジェネラコディセタグプレ
5.3以降は、次のことができます。 ジェネラコディセタグプレ
これは、アプリケーションが実行されるたびに含まれるある種のconfig.php
に含まれるという考えです。
他のヒント
更新
設定ファイルで、DOCUMENT_ROOT
変数を追加するだけです:
ジェネラコディセタグプレ
そしてそれはあなたのためにそれの世話をする必要があります。
古いソリューション
DOCUMENT_ROOT
は、サーバーによって設定される環境変数です。したがって、これが共有ホスティング上にある場合、変更することはできません。別の方法として、独自の定数を設定することもできます。そのため、ページに含まれているconfig
タイプのファイルでは、次のようなことができます。
ジェネラコディセタグプレ
そして、$_SERVER['DOCUMENT_ROOT']
の代わりにその定数を使用します。他のオプションはあなたのホストに連絡してそれについて尋ねることです、多分それは彼らの側の見落としであり、彼らはそれを修正するでしょう。
編集
おそらく、他の人が投稿したように__DIR__
を使用する方が良い方法です。これは、DOCUMENT_ROOT
をさまざまな項目に設定でき、少なくとも__DIR__
を使用すると、毎回正確なディレクトリを取得する必要があるためです。
個人的には、PHPでフォルダーのルートを取得するために、インデックスファイルでこれを使用します: ジェネラコディセタグプレ