2014-07-22 9 views
5

कनवर्ट करें मुझे पता है कि php फ़ाइल को फ़ार फ़ाइल में कैसे परिवर्तित करें।वेब एप्लिकेशन (ZF2) को PHAR

$phar = new PHAR('app.phar'); 
$phar->addFile('file1.php'); 
$phar->addFile('file2.php'); 

मैंने सोचा कि यह केवल पीओपीओ को PHAR में परिवर्तित करने के लिए उपयोगी हो सकता है।

मेरा प्रश्न

यह कन्वर्ट करने के लिए PHAR करने के लिए पूरे Zend फ्रेमवर्क 2 वेब आवेदन संभव है? यदि हां, तो कैसे?

(या)

कैसे एक पैकेज में Zend framework2 वेब अनुप्रयोग पैकेज के लिए? (.zpk (Zend स्टूडियो पैकेज फ़ाइल) फ़ाइल स्वरूप को छोड़कर)


अपडेट किया गया: पूरा आवेदन

बनाने-phar.php

$basePath = /path/to/; 
$path = /path/to/application; 
$phar = new Phar ('project.phar');  
$phar->buildFromIterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)), $basePath); 
$phar->setStub("<?php 
    Phar::webPhar('project', 'public/index.php'); 
     include 'phar://project/public/index.php'; 
     __HALT_COMPILER(); 
    ?>"); 

सूचकांक से फर बनाने .php

<?php 
include 'project.phar'; 
?> 

प्रश्न:

जब मैं index.php चलाने यह वास्तविक सार्वजनिक/करने के लिए रीडायरेक्ट न करें index.php बजाय फाइल यह ब्राउज़र पर रिक्त पृष्ठ को दर्शाता है। मैं यह मुश्किल कैसे सुलझाऊँ?

अग्रिम

+0

एक नज़र डालें [यहां] (http://stackoverflow.com/questions/15750913/generating-a-phar-for-a-simple- appplication)। आईएमएचओ पैकिंग पूरे ऐप भी एक अच्छा विचार नहीं है। मुट्ठी, संगीतकार के समय में इसे विकसित करना कठिन होगा, और दूसरा - जहां तक ​​मुझे पता है कि 'एपीसी' 'फार 'का समर्थन नहीं करता है, इसलिए आप बड़ी प्रदर्शन बाधाओं को प्रभावित करेंगे। – ex3v

+0

मुझे आपका प्रश्न पसंद है, यह उन डेवलपर्स के लिए उपयोगी होगा जो इसे कंपनियों को वितरित करने के लिए अपना कोड छिपाना चाहते हैं। – peterpeterson

+1

@ ब्रूनो क्विंटानाफ्लिटास [वास्तव में नहीं] (http://php.net//manual/pl/phar.extractto.php) – ex3v

उत्तर

4

धन्यवाद मैं phorkie एक .phar फ़ाइल के रूप में तैनात।

कुछ तथ्यों पर गौर करने के लिए कर रहे हैं:

  1. में .phar सभी फाइलों को पैक -, php और स्थिर संपत्ति फ़ाइलें (जे एस, सीएसएस, PNG, JPG) भी। ऐसा करने के लिए I use phing। निर्भरताओं को मत भूलना।
  2. आप एक ठूंठ फ़ाइल कि Phar::webPhar() कि कौन सी HTTP भेजने का ख्याल रखता है हेडर
  3. अपनी खुद की .htaccess पुनर्लेखन नियम दुभाषिया लिखें चलाता है की जरूरत है, क्योंकि Phar::webPhar() अच्छा-पथ अपने आप ही हल करने नहीं करता है। मैं did that already
  4. मैन्युअल
  5. आशा स्थिर फ़ाइलों के लिए कैशिंग हेडर भेजने कि आप (या अपने उपयोगकर्ताओं) Phar::webPhar कीड़े में से एक में नहीं चला की देखभाल:
    1. Symlinked files
    2. No HEAD, PUT or DELETE support
    3. Redirection loop with FPM (पहले से ही Git में तय)
  6. आशा आपके उपयोगकर्ता के web server handles .phar files (ऐसा नहीं होगा; neither Debiannor Fedora जहाज कि विन्यास)
  7. आशा है कि उपयोगकर्ता के वेब सर्वर ठीक PATH_INFO संलग्न (/path/to/file.phar/foo/bar.png साथ .phar फ़ाइलों को संभालने के लिए कॉन्फ़िगर किया गया है), में http://p.cweiske.de/122

phorkie .phar से चल रही की तरह मुझे शाम ले लिया दो सप्ताह का अब जब यह मूल रूप से काम करता है तो यह अभी भी एक ड्रॉप-फायर-एंड-प्ले समाधान नहीं है, क्योंकि वेब सर्वर की डिफ़ॉल्ट कॉन्फ़िगरेशन .phar के साथ अच्छा नहीं खेलता है।

+0

हाय cweiske, आपकी प्रतिक्रिया के लिए धन्यवाद। और उम्मीद है कि यह मेरी समस्या का समाधान कर सकता है। –

+0

एक बार मैं आपके उत्तर के लिए अपना खुद का zf2 phar file.btw ++ बनाउंगा, मैं आपके उत्तर को स्वीकार करूंगा –

+0

हाय @cweiske, क्या आप मेरी create-phar.php फ़ाइल के लिए स्टब सेट करने में मेरी सहायता कर सकते हैं? और मैंने अपना प्रश्न अपडेट किया है कृपया इसे देखें –

 संबंधित मुद्दे