2011-01-11 4 views
4

私はzendフレームワークに基づいてPHPライブラリを作成しています。私の図書館は私のいくつかのウェブプロジェクトで使用されています。私は私の図書館をどこに置くべきかわからない。個々のプロジェクトのドキュメントルートの外に置くことは理にかなっているようですので、個々のプロジェクトごとにライブラリを保守する必要はありません。私の現在の設定は次のようになります。このようドキュメントルートの内部または外部のPHPライブラリ?

/var/www/vhosts/project1/ 
/var/www/vhosts/project2/ 
/var/www/vhosts/libraries/zend-framework/zend-framework-1.11.0/... 
/var/www/vhosts/libraries/my-lib/my-lib-1.0.0/... 

、Zendのフレームワークと私の-libの両方の特定のバージョンは、私のプロジェクトで使用することができます。

代替設定は次のようになります。

/var/www/vhosts/project1/ 
/var/www/vhosts/project1/libraries/zend-framework/zend-framework-1.11.0/... 
/var/www/vhosts/project1/libraries/my-lib/my-lib-1.0.0/... 
/var/www/vhosts/project2/ 
/var/www/vhosts/project2/libraries/zend-framework/zend-framework-1.11.0/... 
/var/www/vhosts/project2/libraries/my-lib/my-lib-1.0.0/... 

を最初のバージョンは、私に多くの意味がありますが、私は私のプロジェクトは、彼らの外のファイルに依存する場合、私はいくつかのセキュリティ上の問題に実行する場合はわかりませんドキュメントルートフォルダ。さらに、my-libがプロジェクトのドキュメントルートの外側にある場合、自分のプロジェクトにmy-libのjavascriptファイルを含めるときに問題が発生します。

ここでベストプラクティスは、ライブラリとzendフレームワークをどこに置くべきですか?これは/ var/www /のバーチャルホスト/ライブラリは、外部からアクセス可能である場合

+0

の/ var/libにから、それは直接アクセスできないの権利

  • を微調整することなく、それをアクセスすることができます
  • すべてのPHPアプリケーションとのlib?それは図書館なので? –

  • +2

    javascriptファイルをドキュメントルートの外に置くことはできません。ブラウザからアクセスできないためです。 – naiquevin

    +0

    私は最初に投票します。しかし、あなたがプロジェクトのドキュメントの話をしているときに私はあなたがApacheのDocumentRootについて話していないことを願っています。 – regilero

    答えて

    6

    が、私はあなたがあなたのライブラリー1レベル下に置くお勧めします(は/ var/www /のライブラリ):

    1. はあなたが同じことを共有することができますPHPはフロントサイト
    +2

    これらのライブラリ(js、css、imagesなど)のパブリック・フェイル・ファイルに関しては、Apache別名(mod_alias)を使用して、これらのファイルを到達可能なURLにマップできます。 – Jody

    関連する問題