2012-11-26 21 views
5

मैं डीबीएक्स के साथ PHP के साथ एमएस एसक्यूएल सर्वर से कनेक्ट करने का प्रयास कर रहा हूं। एक phpinf() के साथ, मैं नोट कर सकते हैं कि dbx सक्षम है:चेतावनी: डीबीएक्स: मॉड्यूल 'mssql' लोड नहीं किया गया

dbx 

dbx support enabled 
dbx version 1.0.0 
supported databases MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT. 

लेकिन जब मैं कोशिश कनेक्ट करते हैं, तो यह त्रुटि दिखाई देते हैं:

dbx_connect("mssql","host","database","user","password"); 

:

Warning: dbx: module 'mssql' not loaded. 

इस कोड है इसे हल करने के लिए कोई विचार?

+0

सबकुछ पुनर्स्थापित करें – dynamic

+0

भले ही यह समकक्ष हो: * mssql ' – artragis

उत्तर

3

मेरी सिफारिश डीबीएक्स का उपयोग कर होने वाली है। यह एक मृत मॉड्यूल है और आधुनिक कोड द्वारा इसका उपयोग नहीं किया जाना चाहिए।

डीबीएक्स removed from standard PHP in version 5.1 था। यदि आपने इसे इंस्टॉल किया है, तो इसका मतलब है कि कोई इसे पीईसीएल मॉड्यूल के रूप में स्थापित करने के अपने रास्ते से बाहर चला गया है, या आप बहुत पुराने PHP संस्करण का उपयोग कर रहे हैं।

requirements page पर, यह कहा गया है:

To be able to use a database with the dbx-module, the module must be either linked or loaded into PHP

केवल मॉड्यूल DBX एमएस एसक्यूएल सर्वर से बात कर के लिए समर्थन करता है, वर्षmssql_ family है। वह एक्सटेंशन no longer available in Windows PHP versions 5.3 or later है।

यदि आप लिनक्स पर हैं, और ओएस-प्रदत्त PHP रिलीज का उपयोग कर रहे हैं, तो आप इसे इंस्टॉल कर पाएंगे। php-mssql या php53-mssql के लिए देखो। जब आप "फ्रीटीडीएस" के लिए पैकेज विवरण खोजते हैं तो यह भी दिखाया जा सकता है। यदि कोई पैकेज उपलब्ध नहीं है, तो आप दर्द की दुनिया में हो सकते हैं। Getting mssql_ compiled and installed is quite a bear

हालांकि, अधिक बेहतर विकल्प हैं।

डीबीएक्स का लक्ष्य उन कार्यों का एक एकीकृत सेट प्रस्तुत करना था जो आपको मौजूदा PHP डेटाबेस एडेप्टरों की भीड़ से बात करने देते हैं। वह भूमिका अब PDO से भरी है। यदि आप विंडोज़ पर हैं, तो आपको PDO_SQLSRV का उपयोग करना चाहिए। यदि आप विंडोज़ पर नहीं हैं, तो आप PDO_DBLIB का उपयोग कर सकते हैं (जो mssql_ परिवार के समान बैकएंड का उपयोग करता है) या PDO_ODBC। यदि आपने पहले कभी पीडीओ का उपयोग नहीं किया है, तो कुछ अच्छे tutorials हैं। वह एक MySQL उपयोगकर्ताओं पर लक्षित है, लेकिन यह अभी भी अन्य डेटाबेस पर लागू होता है।

यदि आपके द्वारा लिखा गया कोड केवल एमएस एसक्यूएल सर्वर पर चलाने का इरादा है, और आप विंडोज़ पर PHP चला रहे हैं, तो आप इसके बजाय sqlsrv_ family of functions का उपयोग करके इसे लिखने पर भी विचार कर सकते हैं।

+0

के बजाय DBX_MSSQL के साथ प्रयास करें http://ca2.php.net/manual/en/ref.pdo-dblib.php मेरे लिए गैर- खिड़कियां पर्यावरण। –

+0

@E_p, आह, विवरण ठीक प्रिंट में हैं। ऐसा लगता है कि उन्होंने इसे PHP 5.3+ के * विंडोज़ * संस्करणों में ही बंद कर दिया है। मैंने तदनुसार अपना जवाब अपडेट कर लिया है। – Charles

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