PHP'nin include_path zip dosyasını koymak için herhangi bir yolu var mı?

5 Cevap php

Her yerde Zenf Framework Kopyalama bir kabus olduğunu, bu yüzden bir fikrim yoktu, thas dağıtım eğer bütün çerçeve olur ba sadece bir zip dosyası daha hızlı olacaktır. Bunu yapmak için bir yolu var mı? Çok verimsiz olurdu?

5 Cevap

Gerçekten sadece bir kez sunucu başına dağıtmak zorunda, bu yüzden bir kabus o kadar değil.

Ama soru cevap: Eğer sadece o tek bir ZIP dosyası, hiçbir içerebilir anlamına eğer. Dağıtım acısını hafifletmek için, ancak, sunucuya bir zip dosyası olarak ZF yükleyebilir ve daha sonra uzak makinede bunu elde edebilirsiniz. Bu ayrı bir gazillion dosyaları yükleyerek çok daha hızlı.

Edit: Aslında, muhtemelen zip dosyaları işlemek için nasıl bilir bir Zend_Loader kendi versiyonunu uygulamak. Ben çok olsa da, makul performans olacağını sanmıyorum. Bu büyük olasılıkla çözer daha fazla sorunlara neden olur.

(O da bir PECL modül olarak monte edilebilir olsa) PHAR dosyaları 5,3 olarak vardır - http://pecl.php.net/phar & http://www.php.net/phar. Ancak, bunun çok zaman kullanılmayan çoğu giderdim tüm ZF çerçeve gibi büyük bir şey çalışan, abartılı olur. Ben PHP5.3 serbest zaman, o zaman önemli parçaları da kullanım için. PHAR dosyaları olarak serbest olacağını muhtemel olduğunu düşünüyorum.

O zamana kadar, hayır. Etrafında kopyalama olsa, ancak sadece bir kerelik bir anlaşma. Ayrıca, sadece orijinal. Tgz dosyayı indirmek olabilir ve sunucu üzerinde halletmek.

Ben yine de açmak gerekir düşünüyorum, ama her proje kopyalanmak zorunda değildir. Diyelim ki şöyle bir dizin yapısı var diyelim:

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

Sonra sadece ../library arası Zend_Framework için index.php dahil yolunu düzenleyebilirsiniz:

../../library

Eğer projenizin kütüphanesi klasörünün altına Zend klasöre sembolik link ekleyerek, Unix tabanlı bir ortamda çalışıyorsanız de çalışır:

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

Bu PHAR uzantısı gibi bir şey kullanmak için izin verir :) yönetmek için PHAR [1] uzantısını kullanabilirsiniz:

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

PS:... PHAR da işleyebilir zip veya tgz dosyaları ben yardımcı umut
. Şerefe.

1: http://php.net/phar