私はさまざまなPHPアプリケーションを開発し、さまざまな環境にデプロイしています。特に開発環境では、document_rootから/ Users / me / Sites /、さらには/ Users / me / Sites /someapp/までどこにでも配置できます。
これらのアプリケーション内で、「アプリケーションルート」がどこにあるかを知る必要があります。1回は実際のパスとして、もう1回はURLとしてです。パスは問題ありません。アプリのルートディレクトリにbootstrap.phpがあり、次のようになっているとします。
define("BASE_DIR", realpath(dirname(__FILE__)));
ただし、ベースURLを確実に取得するには問題があります。ほとんどの環境では、BASE_DIRからドキュメントルートを差し引くだけで機能します。
define("BASE_URL", str_replace($_SERVER['DOCUMENT_ROOT'],'',BASE_DIR) . "/");
今、私の問題は次のとおりです。PHPはまだメインのドキュメントルートを認識しているため、これは私のアプリがユーザーディレクトリ内にある環境では機能しません。誰かがこの問題を解決しましたか?