https://devmanna.blogspot.com/2016/06/h ... ction.html
[Laravel] 如何連接 SQL Server 資料庫及注意事項
通常開發 Laravel 使用的資料庫大多為 MySQL 或是 Sqlite, 今天遇到網友發問連線至 MS SQL Server 的問題.
我好像也沒真正去連 SQL Server, 那麼就來手動測試一下連線至 MS SQL Server 看看吧!
環境:
Windows 10
SQL Server 2014
Apache 2.4.18 (Win32)
Laravel 5.2.39
PHP 5.6.9 / Microsoft PHP Driver for SQL Server v3.2
PHP 7.0.6 / Microsoft Drivers for PHP for SQL Server v4.0.4
必備元件:
下載 Microsoft PHP Driver for SQL Server
現在官網上的下載版本只支援到 PHP v5.6, 所以只能下載 3.2 版本, 測試的 PHP 版本為 5.6.x
另外若是使用 PHP 7 的朋友, 可以到 GitHub 下載 Azure/msphpsql v4.x 的版本
https://github.com/Azure/msphpsql/tree/v4.0.4
PHP - php.ini 設定
檢查版本資訊
以上圖為例: 我需要符合 PHP 7.0.6 NTS 的版本
將檔案放至 php 的 ext/ 資料夾, 修改 php.ini 加上:
extension=php_pdo_sqlsrv_7_nts.dll
重新啟用 server 即可
查看 phpinfo() 即可得到支援的版本資訊
Laravel database 設定
修改 config/database.php
加上 sqlsrv 的設定區塊
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'prefix' => '',
],
修改 .env 的 DB 設定
DB_CONNECTION=sqlsrv
其他參數依需求變更
測試連線讀取資料
Route::get('/', function () {
var_dump( DB::table('Products')->first() );
});
這裡是讀取資料表 Products 取得第一筆資料, 如果設定正確, 你將會看到印出的物件資料
若是 Driver 沒有設定正確會得到錯誤: could not find driver
若是遇到的 PDOException : SQLSTATE[08001]
這是跟網友遇到的問題是一樣的:
SQLSTATE[08001]: [Microsoft][ODBC Driver 11 for SQL Server]TCP Provider: 無法連線,因為目標電腦拒絕連線。
解決 TCP Provider 無法連線:
看到 TCP Provider 的問題, 在很久以前曾經遇過, 只要開啟 Sql Server Configuration Manager 組態管理員, 啟用 SQL Server 網路組態 的 TCP/IP 通訊協定即可
如何連接 SQL Server 資料庫及注意事項
前往
- Software
- ↳ CodeCharge Studio
- ↳ CodeCharge
- ↳ DemoCharge
- ↳ SuperPDF
- ↳ 551einv
- ↳ E3進銷存
- 程式語言
- ↳ PHP
- ↳ CodeLobster PHP Edition
- ↳ Yii
- ↳ CodeIgniter
- ↳ Phalcon
- ↳ Symfony
- ↳ FuelPHP
- ↳ Zend Framework 2
- ↳ laravel
- ↳ WordPress
- ↳ ASP.NET/C#
- ↳ ASP/VBScript
- ↳ JSP
- ↳ Java Servlets
- ↳ ColdFusion
- ↳ Perl
- ↳ Java Script
- ↳ jQuery
- ↳ HTML + CSS
- ↳ jQuery
- ↳ nodejs
- ↳ VB6
- ↳ Git
- ↳ App Inventor 2
- ↳ bash
- ↳ C++/ VC/ OpenCV
- ↳ OpenCV
- ↳ go
- ↳ cordova
- ↳ python
- ↳ Xamarin
- ↳ Assembly
- 資料庫
- ↳ MySQL
- ↳ PostgreSQL
- ↳ ORACLE
- ↳ Access
- ↳ SQL Server
- ↳ SQLite
- ↳ MariaDB
- ↳ Mongodb
- 作業系統
- ↳ Linux
- ↳ Ubuntu
- ↳ CentOS
- ↳ Mint
- ↳ Mandriva
- ↳ Debian
- ↳ Red Hat Enterprise Linux
- ↳ Oracle Linux
- ↳ Fedora
- ↳ Kali Linux
- ↳ OpenSUSE
- ↳ Elementary OS
- ↳ Microsoft
- ↳ Server 2008 R2
- ↳ Server 2012 R2
- ↳ Server 2012
- ↳ 8
- ↳ 10
- ↳ System Center 2016
- ↳ NOVELL
- ↳ FreeBSD
- ↳ VMware
- ↳ VirtualBox
- ↳ Mac OS X
- ↳ Solaris
- ↳ iOS
- ↳ Android
- ↳ Cloud
- ↳ OpenStack
- ↳ Docker
- ↳ Proxmox VE
- ↳ CloudReady
- ↳ chrome
- 網頁伺服器
- ↳ apache
- ↳ tomcat
- ↳ nginx
- ↳ IIS
- ↳ JBoss
- ↳ weblogic
- ↳ WebHosting
- 硬體
- ↳ 硬體及週邊
- ↳ RouterOS
- ↳ LEGO NXT
- ↳ Arduino
- ↳ MSP430
- ↳ Raspberry Pi
- ↳ OpenERP
- ↳ Storage
- ↳ Server
- ↳ Brocade
- ↳ MODELS
- ↳ FortiGate
- 軟體
- ↳ sublime
- ↳ LibreNMS