एक PHP स्क्रिप्ट को एक स्टैंड-अलोन विंडोज़ निष्पादन योग्य में परिवर्तित करें


128

मैं एक काफी सरल कार्य को स्वचालित करना चाहता हूं। इसके लिए मैंने एक छोटी सी PHP स्क्रिप्ट लिखी है जिसे मैं PHP-CLI का उपयोग करके कमांड लाइन से चलाता हूं। अब मैं यह स्क्रिप्ट किसी को सौंपना चाहता हूं, लेकिन मैं यह नहीं करना चाहता:

  • स्रोत कोड को हटा दें
  • उसे सिस्टम पर PHP स्थापित करने के लिए कहें

क्या PHP स्क्रिप्ट का .exe संस्करण बनाने का कोई तरीका है। मैं वास्तव में डी-संकलन के बारे में ज्यादा चिंतित नहीं हूं; मैं लोगों को PHP इंस्टॉल करने और कॉन्फ़िगर करने के लिए कहने के बारे में अधिक चिंतित हूं।


2
क्या आपने bamcompile (r) के बारे में सुना है?
सागरपंचल

1
कई वर्षों से बंबलम का उपयोग कर रहे हैं। यह अब के बारे में हमेशा के लिए ठप हो गया है - और अधिक बिंदु तक, यह केवल PHP4.4.4 के साथ संगत है। हालाँकि, जब तक आपको UTF8 समर्थन और समान की आवश्यकता नहीं होती है और टूटे हुए फ़ार्च () और कुछ अन्य से निपट सकते हैं, तब तक यह आपके लिए काम करना चाहिए। ध्यान दें, PHP4.4.4 के साथ, निर्देशिका में UTF8 फ़ाइल नाम के साथ सौदा करना असंभव है। यह भी याद रखें कि यह% TEMP% की फाइलें बनाता है जिन्हें कभी नहीं हटाया जाता है (php [0-F] {2} .tmp), आपको इन्हें साफ करना होगा।
इगुन_फ्रेमन

PHP के बायनेरिज़ पोर्टली रन कर सकते हैं। आप बस लोगों को एक संपूर्ण फ़ोल्डर निकालने और एक बैच फ़ाइल बनाने के लिए कह सकते हैं जो "php.exe -c php.ini script.php" जैसी किसी चीज़ को निष्पादित करती है।
फ्लोरेसेंटग्रीन

जवाबों:


195

आड़ु पाई

http://www.peachpie.io

https://github.com/iolevel/peachpie

पीचूपी, माइक्रोसॉफ्ट द्वारा रोसलिन पर आधारित पीएचपी 7 संकलक है और लोकप्रिय फलांगर से ड्राइंग है। यह PHP को शुद्ध MSIL में PHP कोड को संकलित करके .NET / .NETCore के भीतर निष्पादित करने की अनुमति देता है।

आस्ट्रेलिया का एक पक्षी

http://v4.php-compiler.net/

http://wiki.php-compiler.net/Phalanger_Wiki

https://github.com/devsense/phalanger

फलांगेर एक परियोजना है जो प्राग में चार्ल्स विश्वविद्यालय में शुरू की गई थी और माइक्रोसॉफ्ट द्वारा समर्थित थी। यह PHP स्क्रिप्टिंग भाषा में CIL (कॉमन इंटरमीडिएट लैंग्वेज) बाइट-कोड में लिखे गए सोर्स कोड को संकलित करता है। यह एक संकलन प्रक्रिया की शुरुआत को संभालता है जो कि .NET फ्रेमवर्क के JIT कंपाइलर घटक द्वारा पूरा किया जाता है। यह देशी कोड पीढ़ी और न ही अनुकूलन को संबोधित नहीं करता है। इसका उद्देश्य PHP स्क्रिप्ट को .NET असेंबली, तार्किक इकाइयों में CIL कोड और मेटा-डेटा से संकलित करना है।

Bambalam

https://github.com/xZero707/Bamcompile/

Bambalam PHP EXE कम्पाइलर / एंब्रडर PHP अनुप्रयोगों को स्टैंडअलोन के लिए डाउनलोड करने के लिए एक फ्री कमांड लाइन टूल है। निर्मित exe फ़ाइलें पूरी तरह से स्टैंडअलोन हैं, php dlls आदि की कोई आवश्यकता नहीं है। php कोड को Turck MMCache Encode लाइब्रेरी का उपयोग करके एन्कोड किया गया है, इसलिए यह एक सही समाधान है यदि आप अपने स्रोत कोड की सुरक्षा करते हुए अपना एप्लिकेशन वितरित करना चाहते हैं। कनवर्टर विंडो PHP अनुप्रयोगों के लिए .exe फ़ाइलों के निर्माण के लिए भी उपयुक्त है (उदाहरण के लिए WinBinder पुस्तकालय का उपयोग करके बनाया गया)। यह स्टैंड-अलोन PHP सॉकेट सर्वर / क्लाइंट (php_sockets.dll एक्सटेंशन का उपयोग करके) बनाने के लिए भी अच्छा है। यह वास्तव में इस अर्थ में संकलक नहीं है कि यह PHP स्रोतों से देशी मशीन कोड का उत्पादन नहीं करता है, लेकिन यह काम करता है!

ZZEE PHPExe

http://www.zzee.com/phpexe/

ZZEE PHPExe Windows GUI exes में PHP, HTML, जावास्क्रिप्ट, फ्लैश और अन्य वेब फ़ाइलों को संकलित करता है। आप परिचित PHP वेब प्रतिमान को नियोजित करके Windows GUI अनुप्रयोगों को तेजी से विकसित कर सकते हैं। आप ऑनलाइन या विंडोज अनुप्रयोगों के लिए समान कोड का उपयोग बहुत कम या बिना किसी संशोधन के कर सकते हैं। यह एक वाणिज्यिक उत्पाद है।

पीएचसी जीत

http://wiki.swiftlytilting.com/Phc-win

PHP एक्सटेंशन bcompiler का उपयोग PHP bytecode में PHP स्क्रिप्ट कोड को संकलित करने के लिए किया जाता है। इस बायोटेक को किसी भी php फ़ाइल की तरह ही शामिल किया जा सकता है जब तक कि bcompiler एक्सटेंशन लोड नहीं होता है। एक बार सभी बायोटेक फाइलें बन जाने के बाद, एक संशोधित एंबेडर का उपयोग परियोजना की सभी फाइलों को प्रोग्राम के एग्जाम में पैक करने के लिए किया जाता है।

आवश्यक है

  • php5ts.dll
  • php_win32std.dll
  • php_bcompiler.dll
  • php-embed.ini

ExeOutput

http://www.exeoutput.com/

व्यावसायिक

WinBinder

http://winbinder.org/

WinBinder PHP, स्क्रिप्ट प्रोग्रामिंग भाषा का एक खुला स्रोत विस्तार है। यह PHP प्रोग्रामर को आसानी से देशी विंडोज एप्लिकेशन बनाने की अनुमति देता है, न्यूनतम प्रयास के साथ त्वरित और पुरस्कृत परिणाम का निर्माण करता है। यहां तक ​​कि कुछ दर्जन लाइनों के साथ लघु स्क्रिप्ट भी एक उपयोगी कार्यक्रम उत्पन्न कर सकती हैं, जो PHP की शक्ति और लचीलेपन के लिए धन्यवाद है।

PHPDesktop

https://github.com/cztomczak/phpdesktop

PHP डेस्कटॉप 2012 में Czarek Tomczak द्वारा स्थापित एक ओपन सोर्स प्रोजेक्ट है, जिसमें PHP, HTML5, JavaScript और SQLite जैसी वेब तकनीकों का उपयोग करके मूल डेस्कटॉप अनुप्रयोगों को विकसित करने का एक तरीका प्रदान किया गया है। यह परियोजना EXE संकलक के लिए बस एक PHP से अधिक है, यह एक वेब-ब्राउज़र (इंटरनेट एक्सप्लोरर या क्रोम एम्बेडेड), एक मोंगोज़ वेब सर्वर और एक PHP दुभाषिया एम्बेड करता है। आपके द्वारा उपयोग किए जाने वाले विकास वर्कफ़्लो को बनाए रखने के लिए, मौजूदा वेबसाइट को डेस्कटॉप एप्लिकेशन में बदलने का कदम मूल रूप से इसे "www /" निर्देशिका में कॉपी करने का मामला है। SQLite डेटाबेस का उपयोग करना वैकल्पिक है, आप आवेदन के इंस्टॉलर में mysql / postgresql डेटाबेस एम्बेड कर सकते हैं।

PHP रात

https://github.com/kjellberg/nightrain

PHP नाइट्रेन का उपयोग करके आप विंडोज, मैक और लिनक्स ऑपरेटिंग सिस्टम पर एक मूल डेस्कटॉप एप्लिकेशन के रूप में HTML, सीएसएस, जावास्क्रिप्ट और PHP वेब अनुप्रयोगों को तैनात और चला सकेंगे। लोकप्रिय PHP चौखटे (जैसे कि CakePHP, लारवेल, ड्रुपल, आदि ...) अच्छी तरह से समर्थित हैं!

phc-win "कांटा"

https://github.com/RDashINC/phc-win

Phc-win का अधिक-या-कम forked संस्करण, यह phc-win जैसी ही तकनीकों का उपयोग करता है, लेकिन लगभग सभी PHP संस्करण का समर्थन करता है। (5.3, 5.4, 5.5, 5.6, आदि) यह भी अपने exe के साथ php5ts.dll को संयोजित करने के लिए Enigma VB का उपयोग कर सकता है, साथ ही साथ UPX इसे संपीड़ित करता है। अंत में, यह win32std और winbinder PHP में सांख्यिकीय रूप से संकलित है।

संपादित करें

एक अन्य विकल्प का उपयोग करना है

http://www.appcelerator.com/products/titanium-cross-platform-application-development/

एक ऑनलाइन कंपाइलर जो PHP सहित विभिन्न भाषाओं की एक संख्या से विभिन्न प्लेटफार्मों के कई निष्पादन के लिए निर्माण कर सकता है

TideSDK

http://www.tidesdk.org/

TideSDK वास्तव में नाम दिया गया टाइटेनियम डेस्कटॉप प्रोजेक्ट है। टाइटेनियम मोबाइल पर केंद्रित रहा, और डेस्कटॉप संस्करण को छोड़ दिया, जिसे कुछ लोगों ने ले लिया, जिन्होंने इसे खोल दिया और इसे TideSDK करार दिया।

आम तौर पर, TideSDK अनुप्रयोगों को रेंडर करने के लिए HTML, CSS और JS का उपयोग करता है, लेकिन यह PHP जैसी स्क्रिप्टेड भाषाओं का समर्थन करता है, प्लग-इन मॉड्यूल के साथ-साथ पायथन और रूबी जैसी अन्य स्क्रिप्टिंग भाषाओं का भी।


मैं पुष्टि कर सकता हूं कि PHP 5.3 कोड के साथ कंसोल exe फ़ाइल बनाने के लिए phc-win कार्य करता है। बस PHP स्क्रिप्ट उसी फ़ोल्डर में है जैसे php-win exe है।
देजव

मैंने बंबलम कंपाइलर का इस्तेमाल किया। यह बहुत अच्छा और आसान है और विन-बिल्डर का समर्थन भी करता है, लेकिन php5 का समर्थन नहीं करता है :(
m3nda

PHP-Nightrain PHPDesktop का एक बहुत अच्छा विकल्प है - और क्रॉस-प्लेटफ़ॉर्म (विंडोज, OSX, लिनक्स) है। जबकि जावा पर निर्भरता के कारण इसकी खराब प्रतिष्ठा थी, यह अब पायथन में एक आवरण के रूप में बदल गया है, और PHP के आधार पर क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर विकसित करने के लिए एक बहुत अच्छा विकल्प है। - github.com/naetech/nightrain
टापो

1
बस एक बम्बलम समस्या / बीवी के साथ सभी रविवार को खो दिया। इस इंस्टॉलेशन में इसे दिन में 50 बार निष्पादित किया जाता है। यह निश्चित नाम आकार के साथ अस्थायी फ़ाइलें बनाता है जिसे वह कभी भी नहीं हटाता है (4 वर्ण) ... परिणाम कोई और मुक्त फ़ाइल नाम नहीं है। Sysinternals ने यह पता लगाने में मदद की कि क्या हुआ। आसान नहीं था और बम्बलम पर एक बुरा वाइब छोड़ देता है।
जोआओ

1
महान नौकरी पुरुषों! मैं उनमें से कुछ की कोशिश करूंगा। Php साइट के साथ mysql डेटाबेस का उपयोग करने के लिए कौन सा सबसे अच्छा है?
गरतु

12

मुझे अन्य उत्तरों में अधिकांश उपकरणों के साथ समस्या थी क्योंकि वे सभी बहुत पुराने हैं।

यदि आपको एक समाधान की आवश्यकता है जो "बस काम करेगा", एक WinRar SFX संग्रह में अपनी परियोजना के साथ php के नंगे-हड्डियों के संस्करण को पैक करें, इसे अस्थायी निर्देशिका में सब कुछ निकालने के लिए सेट करें और निष्पादित करें php your_script.php

एक मूल स्क्रिप्ट को चलाने के लिए केवल आवश्यक फाइलें हैं ( php.exeऔर संस्करण पर निर्भर करता है)।php5.dllphp5ts.dll

एक्सटेंशन जोड़ने के लिए, उन्हें एक php.ini फ़ाइल के साथ पैक करें:

[PHP]
extension_dir = "."
extension=php_curl.dll
extension=php_xxxx.dll
...

नमस्ते आपका समाधान बहुत दिलचस्प है। Quickfp वेब सर्वर के समान है। क्या आपके पास इसके लिए सरल उदाहरण हैं? मुझे उम्मीद है कि आप एक स्रोत प्रदान कर सकते हैं। वैसे अच्छा लगा।
एडंग जेरोली

यह वाकई दिलचस्प है! लेकिन बात यह है, कि ओपी "सोर्स कोड को दूर नहीं करना चाहता", और यहां तक ​​कि एक बदमाश सिर्फ एसएफएक्स से स्क्रिप्ट निकाल सकता है।
जय दादानिया

8

मैंने 1 उत्तर में दिए गए अधिकांश समाधान की कोशिश की, केवल वही जो मेरे लिए काम करता है और गैर-व्यावसायिक है, जो php-desktop है

मैंने बस अपनी php फाइल्स को www/फोल्डर में डाल दिया , उसका नाम बदल दिया .exeऔर एक्सपी के रूप में अपनी php चलाने में सक्षम हो गया !!

इसके अलावा, एक पूर्ण प्रलेखन है, अप टू डेट सपोर्ट, विंडोज़ और लिनेक्स संगतता और विकल्प आसानी से बदले जा सकते हैं।


2
PHP डेस्कटॉप अब लिनक्स का समर्थन करता है, इसकी आरंभिक रिलीज देखें: github.com/cztomczak/phpdesktop/releases/tag/linux-v72.0
Czarek Tomczak

6

RapidEXE इस काम के लिए बिल्कुल सही है:

यह एक php प्रोजेक्ट को एक स्टैंडअलोन exe में परिवर्तित करता है। मेरे पास सभी अन्य संकलक पर्याप्त थे, उन्हें एक-एक करके आज़माया और उन्होंने मुझे एक या दूसरे तरीके से निराश किया। मेरे अतिथि बनें, फीडबैक का हमेशा स्वागत है!

साइड नोट: इसके पीछे का तंत्र WinRAR SFX दृष्टिकोण के समान है; निकालें इंजन, स्रोत निकालें, फिर चलाएँ। इसके साथ काम करना अभी तेज़ और आसान है। एक-कमांड संकलन, संपीड़ित, स्मार्ट अनपैक, ऑटो सफाई, आसान विन्यास, php इंजन और संस्करण का पूर्ण नियंत्रण; न्यूनतम प्रयास के साथ एक्स्टेंसिबल भी।

खुश विकास!


मैंने आपके टूल का उपयोग करने की कोशिश की, लेकिन मुझे निम्न त्रुटि Cannot find myself (D:\Desktop\phpflexer\phpflexer.exe)
मिलती है

यह आशाजनक है लेकिन क्या आप इसमें कुछ लाइब्रेरी जोड़ सकते हैं? उदाहरण के लिए मुझे GD2 की आवश्यकता है ताकि मेरी स्क्रिप्ट छवियों पर काम कर सकें।
टॉम

@Tom: निश्चित रूप से, एक नया संस्करण है और यदि आपको ऐसा लगता है कि इसका परीक्षण करना है तो मैं आपको एक डाउनलोड लिंक दे सकता हूं। (कोई मैलवेयर नहीं, मैं वादा करता हूं।) यह वास्तव में अब बहुत बेहतर है और यह php 7.2 है, साथ ही मुझे लगता है कि यह अन्य भाषाओं को संभालने में सक्षम होगा। मेरा जीमेल kellnerdenes है।
dkellner

1
बस संकलित कमांड-लाइन स्क्रिप्ट के लिए यह एक बहुत सुंदर समाधान है! मैं अपने ज्यादातर GUI प्रोजेक्ट्स के लिए ExeOutput4PHP का उपयोग अभी काफी समय से कर रहा हूं, लेकिन कंसोल एप्स के लिए रैपिडेक्स भी बेहतर नहीं लग रहा है।
जय दादानिया

1
@ जयदहनिया संगीत मेरे कानों को! संस्करण 3 जल्द ही आ रहा है, देखते रहें!
dkellner

2

ExeOutput भी Windows अनुप्रयोगों और सॉफ्टवेयर में PHP वेबसाइटों को चालू कर सकता है

PHP वेबसाइट्स को विंडोज एप्लिकेशन और सॉफ्टवेयर में बदल दें

PHP के लिए ExeOutput के साथ किए गए एप्लिकेशन मूल रूप से PHP स्क्रिप्ट, PHP एप्लिकेशन और PHP वेबसाइट चलाते हैं, और इसके लिए वेब सर्वर, वेब ब्राउज़र या PHP वितरण की आवश्यकता नहीं होती है। वे स्टैंड-अलोन हैं और हाल के विंडोज संस्करणों के साथ किसी भी कंप्यूटर पर काम करते हैं।

PHP के लिए ExeOutput एक शक्तिशाली वेबसाइट कंपाइलर है जो आधुनिक साइटों पर पाए जाने वाले सभी तत्वों के साथ काम करता है: PHP स्क्रिप्ट, जावास्क्रिप्ट, HTML, सीएसएस, एक्सएमएल, पीडीएफ फाइलें, फ्लैश, फ्लैश वीडियो, सिल्वरलाइट वीडियो, डेटाबेस और चित्र। PHP रनटाइम और PHP एक्सटेंशन के साथ इन तत्वों को मिलाकर, PHP के लिए ExeOutput एक EXE फ़ाइल बनाता है जिसमें आपका पूरा आवेदन होता है।

http://www.exeoutput.com/


1

इस मामले में मेरा अनुभव मुझे बताता है, इनमें से अधिकांश सॉफ़्टवेयर छोटी परियोजनाओं के साथ अच्छा काम करते हैं।
लेकिन बड़े प्रोजेक्ट्स का क्या? उदाहरण: Zend फ्रेमवर्क 2 और इस तरह की कुछ चीजें।
उनमें से कुछ को चलाने के लिए ब्राउज़र की आवश्यकता होती है और ग्राहक को "कृपया टाइप करें" बताना मुश्किल हैhttp://localhost/ आपके ब्राउज़र एड्रेस बार में " !!

मैं ऐसा करने के लिए एक सरल परियोजना बनाता हूं : PHPPy

यह php प्रोजेक्ट्स चलाने के लिए स्टैंड अलोन एक्जीक्यूटेबल फाइल बनाने का पूरा तरीका नहीं है, लेकिन ऐसा करने में आपकी मदद करता है।
मैं पायथन फ़ाइल को PyInstaller या Py2.exe से .exe फ़ाइल के साथ संकलित नहीं कर सका, आशा है कि आप कर सकते हैं।
आपको एक समान निष्पादन योग्य फ़ाइलों की आवश्यकता नहीं है।


4
एक कड़ी मेहनत करने के लिए स्थानीयहोस्ट बनाएँ? :) वैसे भी आपके पास "छोटी परियोजनाओं पर अच्छा काम करने" का कारण है। अद्वितीय पूर्ण "जैसा आप चाहते हैं" phpdesktop है।
m3nda

1

वर्तमान PHP नाइट्रेन (4.0.0) पायथन में लिखा गया है और यह wxPython पुस्तकालयों का उपयोग करता है। अभी तक wxPython, PHP Nightrain को प्राप्त करने के लिए अच्छी तरह से काम कर रहा है, जहाँ यह आज है लेकिन PHP Nightrain को अपने अगले स्तर पर धकेलने के लिए, हम PHP Nightrain, PHPWebkit के एक भाई-बहन का परिचय दे रहे हैं!

यह PHP रात का अद्यतन है।

https://github.com/entrypass/nightrain-ep

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.