2016-07-15 9 views
5

मैं एक लैरवेल 5.1 प्रोजेक्ट पर काम कर रहा हूं जिसे मौजूदा एमएस एसक्यूएल सर्वर डेटाबेस से कनेक्ट करना है। मेरा प्रोजेक्ट वर्तमान में अपाचे 2.4.18 का उपयोग कर उबंटू 16.04 एलटीएस सर्वर पर है। मैं मशीन पर एसक्यूएल सर्वर (संस्करण 13.0.0.0) के लिए Microsoft ODBC लिनक्स ड्राइवर स्थापित और इसे मैन्युअल रूप से परीक्षण किया sqlcmd कमांड के साथ किया है:लार्वेल: पीडीओ अपवाद, ड्राइवर को स्थापित नहीं किया जा सकता है भले ही ड्राइवर स्थापित और परीक्षण किया गया हो

sqlcmd -S DatabaseIPAddress -U DatabaseUsername 

यह सब ठीक काम किया। मैं डेटाबेस में कोई समस्या नहीं लॉग कर सकता हूं। जब मैं php artisan के साथ अपना डेटाबेस माइग्रेट करने जाता हूं, तो यह काम नहीं करता है।

'sqlsrv' => [ 
      'driver' => 'sqlsrv', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
], 

डेटाबेस प्रवेश जानकारी .env फ़ाइल में सहेजा जाता है और एसक्यूएल सर्वर के रूप में सेट किया गया है:

[PDOException] 
    could not find driver 

मैं database.php में सेटअप के रूप में इस मिल गया है: मैं त्रुटि मिलती है डिफ़ॉल्ट:

'default' => env('DB_CONNECTION', 'sqlsrv'), 

क्या हो सकता है इसके बारे में कोई मदद? मैंने इंटरनेट पर पोस्ट का एक गुच्छा पढ़ा है (here और here)। लोगों के पास विभिन्न प्रकार के डेटाबेस के साथ समान समस्याएं हैं। उन्हें एक्सटेंशन के बारे में कुछ पंक्तियों को जोड़कर उनकी php.ini फ़ाइल की कॉन्फ़िगरेशन को बदलना पड़ा। शायद उन लाइनों के साथ कुछ?

; This is the extension for the Microsoft SQLSRV ODBC Driver. 
; The driver seems to be located at this file path. 
extionsion=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0 

रिबूट, परीक्षण किया है, लेकिन कोई लाभ नहीं हुआ: मैं php.ini फ़ाइल है कि मैंने सोचा था कि इस तरह के रूप में, काम हो सकता है में कुछ विभिन्न चीजों की कोशिश की है। मैं इस पर थोड़ी देर के लिए दीवार के खिलाफ अपने सिर को झुका रहा हूं। किसी भी तरह की सहायता का स्वागत किया जाएगा। धन्यवाद।

+3

http://stackoverflow.com/questions/18213907/how-to-use-sql-server-connection-in-laravel –

+1

बहुत बढ़िया, धन्यवाद! यह php7.0-sybase का उपयोग करने के मामूली संशोधन के साथ किया था। बहुत बहुत धन्यवाद! क्षमा करें, मैंने अपने शोध में उस पोस्ट को याद किया। – Keegan

उत्तर

2

इन चरणों का पालन
sudo apt-get install php5-mssql
अद्यतन /etc/freetds/freetds.conf

[global] 
# TDS protocol version 
; tds version = 4.2 
tds version = 8.0 
client charset = UTF-8` 

php.ini

mssql.charset = "UTF-8" 

संदर्भ के लिए इस लाइन में जोड़ें: Laracast discussion

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