2011-06-24 6 views
6

मैंने कुछ PHP एक्सटेंशन बनाने का प्रयास किया है।डीबग के साथ PHP 5.3.6 के लिए PHP एक्सटेंशन को संकलित करने के लिए कैसे करें, टीएस

पहले मैंने php 5.3.6 संकलित --enable-debug --enable-maintainer-zts के साथ संकलित किया। तो मैं के लिए यह

phpize 
./configure --with-EXTNAME 
make 

तब मेरे php एक्सटेंशन निर्देशिका को extname.so प्रतिलिपि बनाएँ, और php.ini

बदलने अपने एक्सटेंशन और उपयोग standart प्रक्रिया ceated और मैं एक त्रुटि मिली जब मैं CLI से php इस्तेमाल करने की कोशिश

Unable to initialize module 
Module compiled with build ID=API20090626,NTS 
PHP compiled with build ID=API20090626,TS,debug 

जब मैं कोशिश

./configure --enable-debug --enable-maintainer-zts 

विस्तार के लिए मुझे चेतावनी मिली कि इन विकल्पों को कॉन्फ़िगर स्क्रिप्ट द्वारा पहचाना नहीं गया है।

तो, मैं PHP के साथ उपयोग करने के लिए अपने एक्सटेंशन को संकलित कैसे कर सकता हूं, जो कि मैं PHP को पुनः संकलित किए बिना ऊपर वर्णित करता हूं?

उत्तर

6

आपको ./configure --with-php-config=/path/to/correct/php-config की आवश्यकता है।

कॉन्फ़िगर स्क्रिप्ट संभवतः php-config (संभवतः केंद्रीय स्थापित एक) का उपयोग कर रहा है।

+0

ओह ... और जहां सही php- पा सकते हैं 2 phpize हैं config? मुझे लगता है कि यह बिन निर्देशिका में php के पास है, क्या मैं सही हूँ? – krasilich

+0

@kra हाँ, सही – Artefacto

+0

ऐसा लगता है कि सब कुछ काम करता है, धन्यवाद! – krasilich

0
अपने सर्वर में

वहाँ

/usr/bin/php/phpize 
    /usr/bin/php-zts/phpize 

सुनिश्चित करने के लिए यह धागा सुरक्षा के बजाय "phpize" उपयोग करने के साथ संकलित कर

/usr/bin/php-zts/phpize 
./configure --with-php-config=/usr/bin/php-zts/php-config 
make 
make install 
+0

नोट केवल सही phpize चुनें पर्याप्त नहीं है: --with-php-config भी आवश्यक है। – Dereckson

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