2009-05-27 3 views
-1

Zenf Frameworkをどこにでもコピーするのは悪夢なので、私は考えました。フレームワーク全体がちょうどzipファイルであれば、展開は速くなります。それを行う方法はありますか?それは非常に非効率的でしょうか?PHPのinclude_pathにzipファイルを置く方法はありますか?

+0

は、この質問には、「?どのようにファイルをPHPで解凍することができます」と解釈することができます、または私が間違っていますか? –

+0

実際には、アプリケーションがプロジェクトのさまざまな段階でいくつかのサーバーを移動しているためです。つまり、開発、ステージング、プロダクション環境があり、それらの間にappaがコピーされているということです。最終段階(プロダクション)idは、ftpアクセスのみを持つリモートサイトに最も嫌な人です。 – hegemon

答えて

2

実際にサーバーごとに1回だけ展開する必要があるため、それほど悪夢ではありません。

あなたの質問に答えるには:あなたがただ一つのZIPファイルを含めることができれば、いいえ。ただし、展開の苦労を緩和するために、ZFをZipファイルとしてサーバーにアップロードしてから、リモートマシン上で展開することができます。これは、膨大なファイルを個別にアップロードするよりもはるかに高速です。

編集:実際には、おそらく、Zend_Loaderの独自のバージョンを実装して、zipファイルの処理方法を知っている可能性があります。私はそれが合理的に実行することを非常に疑う。それはおそらくそれが解決するよりも多くの問題を引き起こすでしょう。

2

5.3(ただし、PECLモジュールとしてインストールすることもできます)のPHARファイル - http://pecl.php.net/phar & http://www.php.net/pharがあります。しかし、ZFフレームワーク全体の大部分を実行すると、そのほとんどが未使用になってしまいますが、大部分は過度の作業になります。私は、PHP5.3がリリースされたときに、その重要な部分が.PHARファイルとしてリリースされる可能性が高いと思います。

これまでは、それをコピーすることは、しかし、ただ1回の契約です。オリジナルの.tgzファイルをダウンロードし、サーバに解凍することもできます。

0

まだ解凍する必要があると思いますが、各プロジェクトにコピーする必要はありません。あなたはそのようなディレクトリ構造を持っているとしましょう:あなたが作業している場合

../../library 
0

/htdocs 
    /library 
     /Zend 
    /Project1 
     [...] 
     /public 
      index.php 
    /Project2 
     [...] 
     /public 
      index.php 

は、それからちょうどに../libraryからZend_Frameworkのためのindex.phpでインクルードパスを編集Unixベースの環境では、プロジェクトのライブラリフォルダにあるZendフォルダへのシンボリックリンクを追加することもできます:

% cd /your/project/library 
% ln -s /path/to/ZendFramework/library/Zend . 
0

PHAR [1] exte

include 'phar:///path/to/zend-latest.tgz/file.php'; 

PS:PHARも.zipファイルまたは.tgzというファイルを扱うことができ、これを管理するnsionはPHARの拡張子は、あなたがのようなものを使用することができます:)します。
私はそれが助けてくれることを願っています。乾杯。

1:http://php.net/phar

+0

私はおそらくzip://を使ってこれを行うことができることを知っています。問題は:include_pathにアーカイブを置くことができますか? – hegemon

関連する問題