2009-07-07 7 views
11

मैं वर्तमान में PHP एक्सटेंशन को फिर से लिख रहा हूं जो मूल रूप से PHP 4.2.2. के लिए लिखा गया था मेरी समस्या में निर्माण/संकलन प्रक्रिया कोर में विस्तार को संकलित करने के बजाय .dll उत्पन्न करती है। पर्यावरण विंडोज सर्वर 2003 है। मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा हूं।मैं डीएलएल के रूप में विंडोज़ के लिए PHP 5.3 के लिए एक एक्सटेंशन कैसे संकलित करूं?

मैंने फ्रेमवर्क उत्पन्न करने के लिए EXT_SKEL स्क्रिप्ट का उपयोग किया, और मैं विस्तार से php कोर में एक्सटेंशन को संकलित कर सकता हूं। मैं इसे .dll के रूप में संकलित करने की कोशिश कर रहा हूं ताकि मैं इसे आसानी से अपने ग्राहकों को वितरित कर सकूं। क्या कोई मुझे PHP 5.3 बिल्ड प्रक्रिया को बताने के लिए सही दिशा में इंगित कर सकता है कि मैं अपने एक्सटेंशन को के रूप में स्थिर रूप से PHP में स्थिर रूप से संकलित करना चाहता हूं?

एक्सटेंशन के ढांचे का निर्माण करने के लिए मैं चलाएँ:

  1. php.exeext_skel_win32.php --extname=myextension --proto=myprototypefile.dat
  2. संशोधित config.w32 'ARG_ENABLE' लाइन uncomment और बनाने के लिए डिफ़ॉल्ट सक्षम
  3. buildconf.bat
  4. cscript /nologo configure.js
  5. nmake

मैं पुष्टि करता हूं कि मैं एक्सटेंशन के तरीकों को PHP के भीतर से चला सकता हूं, हालांकि यह एक वितरित .dll उत्पन्न नहीं करता है। इसके बजाय यह PHP बाइनरी में विधियों को संकलित करता है। क्या कोई मुझे सही दिशा दिखा सकता है?

उत्तर

8

प्रयास करें

configure.js --enable-myextension=shared 

संपादित करें: यह भी हो सकता है

configure.js --with-myextension=shared 
+0

त्वरित प्रतिक्रिया के लिए बहुत धन्यवाद! –

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