9

私は開発環境のためだけに MAMP を使用していますが、Web サーバー上の /var/www/project-name/ のフォルダー構造をよく理解していません。Web サーバーを htdocs フォルダーに向けるつもりなのか、それともプロジェクト フォルダーのルートに向けるべきなのか疑問に思っています。

私が尋ねる理由は、ライブラリはセキュリティ上の目的で htdocs フォルダーの外に存在することを意図しているからですが、それらは Web アプリケーション自体からどのように指されているのでしょうか? Web サーバーが Web アプリケーションの htdocs フォルダーを指している場合、Web アプリケーションは htdocs フォルダー外のフォルダーにアクセスできませんか?

4

5 に答える 5

11

簡単な解決策は、次のようなフォルダー構造にすることです。

/var/www/project-name/
    + webroot/
    + libraries/

apache2DocumentRootwebrootディレクトリに向けます。Web からアクセスできないようにするすべてのライブラリをlibrariesディレクトリに保持します。PHP コードで include ディレクティブを使用して、ライブラリ コードにアクセスします。

秘訣は、php が読み取りアクセス権を持つシステム上の任意のファイルを含めることができることを理解することです。Web サイトを閲覧している人は、webroot ディレクトリ内のファイルにのみアクセスできます。

于 2009-04-10T18:24:57.760 に答える
4

同じサーバー上に複数の仮想ホストがある場合、各サイトを の下のディレクトリに配置するのが一般的で/var/www、これらのそれぞれにhtdocsWeb ルートとしてマウントされるフォルダーがあります。その後、Web ルートの上のフォルダーにログとアプリケーション固有のライブラリを配置できます。例えば。:

/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log
于 2009-04-10T18:21:53.277 に答える
1

PHP は、Apache サーバー ユーザーが適切な権限を持っているファイル システム内の任意のファイルにアクセスできます。仮想ホストなしで apache を実行している Linux ボックスでは、/var/www が htdocs ディレクトリに使用される一般的な場所です。

于 2009-04-10T17:48:11.623 に答える
0

include_pathライブラリは、一般ユーザーがアクセスできないPHP に配置します。

于 2009-04-10T17:48:02.747 に答える
0

ドメインが機能するのと同じように、ローカル Web サイトをディレクトリにマッピングすることをお勧めします。

多くの場合、単一の Web ホスティング アカウントに複数の Web サイトがあるため、仮想ホストをセットアップしてセットアップをミラーリングします。

共有ホスティングの場合:

/var/www/root
 /var/www/root/website1
 /var/www/root/website2
 /var/www/root/website3

ローカル PC に 3 つの仮想ホストを作成しますが、同一のファイル構造を維持します。

また、構成ファイルの条件を使用して、サーバーのファイル構造に応じて異なるサイトをセットアップし、同じ構成ファイルが両方のセットアップで確実に機能するようにします。これは、ワンステップのビルド プロセスを維持することを意味します。

于 2009-04-10T21:23:13.823 に答える