Microsoft PHP SQL सर्वर ड्राइवर काम नहीं कर रहा, कैंट लोड मॉड्यूल नहीं


2

मैं अपने SQL सर्वर से बात करने में सक्षम होने के लिए PHP के लिए ड्राइवर स्थापित करने की कोशिश कर रहा हूं। मैं XAMPP और SQL Server 2014 पर PHP 5.5.15 चला रहा हूं। मैंने यहां से एक ड्राइवर पैकेज डाउनलोड किया: http://www.microsoft.com/en-us/download/details.aspx?id=20098 (SQLSRV30.EXE )। मैंने उन्हें अपने php एक्सटेंशन फ़ोल्डर में कॉपी किया है (C:\xampp\php\ext), और php.ini, निर्दिष्ट में:

extension=php_pdo_sqlsrv_54_nts.dllलोड करने के लिए php_pdo_sqlsrv_54_nts.dll ड्राइवर अब C: \ xampp \ php \ ext पर स्थित है, हालाँकि, जब मैं अब रुकता हूं और सर्वर को पुनरारंभ करता हूं, तो मुझे इस छवि में त्रुटि संदेश मिलते हैं (पहले शीर्ष बॉक्स, फिर नीचे वाला)।

यदि मैं ड्राइवर को लोड करने की कोशिश नहीं करता है, तो सर्वर ठीक चलता है, और मुझे यकीन नहीं है कि यह दूसरे बॉक्स में मॉड्यूल नहीं ढूंढने के बारे में शिकायत कर रहा है, क्योंकि यह निश्चित रूप से उस स्थान पर है जो इसे खोज रहा है। मुझे यकीन नहीं है कि यह इस तथ्य से हो सकता है कि यह ड्राइवर PHP 5.4 के लिए है, और मैं 5.5.15 चला रहा हूं। दुर्भाग्य से, मैं केवल PHP 5.3 और 5.4 के लिए ड्राइवरों को खोजने में सक्षम था, और सोचा कि मैं इसे 5.4 ड्राइवरों के साथ एक शॉट दूंगा।

जवाबों:


1

आप PHP का उपयोग कर रहे Non Thread Safeया Thread Safe। आप इसे अपनी phpinfo.phpफ़ाइल से देख सकते हैं। यदि आप PHP नॉन थ्रेड सेफ का उपयोग कर रहे हैं तो dll नाम का ntsउपयोग किया जाना चाहिए और थ्रेड सेफ उपयोग के लिए dll नाम शामिल है ts। अधिक जानकारी के लिए छवि के नीचे देखें। MSSQL सर्वर तक पहुँचने के लिए आपको SQL मूल क्लाइंट की आवश्यकता होनी चाहिए।

यहाँ छवि विवरण दर्ज करें


हे रेणु, आपके उत्तर के लिए धन्यवाद। इसलिए, मैंने phpinfo की जाँच की है, और यह एक थ्रेड-सुरक्षित संस्करण चला रहा है, इसलिए मैंने उस मॉड्यूल को बदल दिया है जिसका उपयोग मैं थ्रेड-सेफ के रूप में करता हूँ। अब मैं php_pdo_sqlsrv_54_ts.dll का उपयोग करता हूं। यह php5.dll नहीं ढूंढने के बारे में कोई शिकायत नहीं करता है, क्योंकि मुझे लगता है कि यह अब है, सही ढंग से, php5ts.dll ढूँढने के लिए। हालांकि, अब यह शिकायत करता है कि मॉड्यूल एपीआई 20100525 के साथ संकलित किया गया था और PHP को एपीआई 20121212 के साथ संकलित किया गया था। मुझे यकीन नहीं है कि मेरे पास vc9 या vc6 युक्त कोई भी फाइल क्यों नहीं है, मेरे पास केवल इस स्क्रीन में चिह्नित फाइलें हैं: i। imgur.com/urEmuMv.png
user2606742

Php_pdo_sqlsrv_53_ts.dll का उपयोग करना एक ही त्रुटि देता है, बस एक अलग एपीआई संस्करण संख्या के साथ
user2606742

मुझे लगता है कि यह इस तथ्य के कारण हो सकता है कि यह php 5.5.15 है, और ड्राइवर 5.4 / 5.3 के लिए हैं, या आप क्या कहेंगे?
user2606742

@ user2606742: यह त्रुटि API संस्करण संघर्ष के कारण है। आप गलत PHP संस्करण और .dll फ़ाइलों के साथ प्रयास कर रहे हैं। 5.5 डीएल प्राप्त करने के लिए आपको संकलन करने की आवश्यकता है। आपको यहां से फाइलें मिलेंगी । आपको यहां से पैदल मार्ग मिलेगा । इस पोस्ट को
Renju Chandran chingath

हे धन्यवाद, हाँ, ऐसा लगता है कि Microsoft ने PHP 5.5 और 5.6 के लिए ड्राइवरों को जारी नहीं किया है, और कई लोग इसके बारे में शिकायत कर रहे हैं। वैसे भी, मुझे robsphp.blogspot.co.uk/2012/06/… से ड्राइवर मिले हैं , मुझे यकीन है कि आपका भी काम हो गया होगा। वैसे भी, मैं आपके उत्तर को सही मानूंगा, जैसा कि आपने थ्रेड-सेफ्टी मुद्दे पर मेरा ध्यान दिलाया, और साथ ही 5.5 और 5.6 के लिए काम करने वाले ड्राइवरों के लिए एक लिंक भी प्रदान किया। आपकी सहायताके लिए धन्यवाद!
user2606742
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.