亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
本文介紹Linux平臺(tái)如何使用Freetds連接SQL Server服務(wù)器,兼容PHP和Laravel,希望對(duì)php中文網(wǎng)php初學(xué)者有所幫助!" >本文介紹Linux平臺(tái)如何使用Freetds連接SQL Server服務(wù)器,兼容PHP和Laravel,希望對(duì)php中文網(wǎng)php初學(xué)者有所幫助!
本文在CentOS 7 64bit和Laravel 4.2環(huán)境測試通過。" >本文在CentOS 7 64bit和Laravel 4.2環(huán)境測試通過。
1.下載源碼并解壓縮
2.配置并生成makefile
3.編譯安裝
4.測試
5.編譯PHP擴(kuò)展
6.編譯pdo_dblib.so擴(kuò)展適配Laravel
首頁 php教程 php手冊(cè) Linux平臺(tái)使用Freetds連接SQL Server服務(wù)器,兼容PHP和Laravel

Linux平臺(tái)使用Freetds連接SQL Server服務(wù)器,兼容PHP和Laravel

May 01, 2017 am 10:40 AM
freetds linux sql 連接

本文介紹Linux平臺(tái)如何使用Freetds連接SQL Server服務(wù)器,兼容PHP和Laravel,希望對(duì)php中文網(wǎng)php初學(xué)者有所幫助!

本文在CentOS 7 64bit和Laravel 4.2環(huán)境測試通過。

1.下載源碼并解壓縮

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
cd freetds-0.91

2.配置并生成makefile

./configure --with-tdsver=8.0 --enable-msdblib

3.編譯安裝

make
sudo make install

4.配置

默認(rèn)安裝的配置文件位于/usr/local/etc,在/usr/local/etc編輯freetds.conf 文件,默認(rèn)為

#   $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 jklowden Exp $
#
# This file is installed by FreeTDS if no file by the same 
# name is found in the installation directory.  
#
# For information about the layout of this file and its settings, 
# see the freetds.conf manpage "man freetds.conf".  

# Global settings are overridden by those in a database
# server specific section
[global]
        # TDS protocol version
;       tds version = 4.2

        # Whether to write a TDSDUMP file for diagnostic purposes
        # (setting this to /tmp is insecure on a multi-user system)
;       dump file = /tmp/freetds.log
;       debug flags = 0xffff

        # Command and connection timeouts
;       timeout = 10
;       connect timeout = 10

        # If you get out-of-memory errors, it may mean that your client
        # is trying to allocate a huge buffer for a TEXT field.  
        # Try setting 'text size' to a more reasonable limit 
        text size = 64512

# A typical Sybase server
[egServer50]
        host = symachine.domain.com
        port = 5000
        tds version = 5.0

# A typical Microsoft server
[egServer70]
        host = ntmachine.domain.com
        port = 1433
        tds version = 7.0

在文件的最后位置添加如下配置,即可連接SQL Server 2000

[sql-server-2000]
        host = 192.168.182.9
        port = 1433
        tds version = 7.0

如果要連接SQL Server 2005或2008,需要添加以下配置

[sql-server-2005]
        host = 192.168.70.1
        port = 1433
        tds version = 8.0

4.測試

/usr/local/bin/tsql -S sql-server-2000 -U sa -P test


如果成功連接,將會(huì)出現(xiàn)以下提示

locale is "zh_CN.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>

至此,F(xiàn)reeTDS已經(jīng)是Linux具備連接SQL Server的功能了。

5.編譯PHP擴(kuò)展

PHP 5.4之后已經(jīng)沒有原生支持的SQL Server的驅(qū)動(dòng)了,因此需要手動(dòng)編譯PHP源碼的擴(kuò)展添加對(duì)SQL Server的驅(qū)動(dòng)支持。CentOS 7自帶的是5.4版本的PHP,因此我們通過編譯5.4版的PHP源碼獲得擴(kuò)展。

目前CentOS yum源里最新的php是5.4.16,php可以通過yum安裝到系統(tǒng)

sudo yum install php php-devel php-fpm php-common php-mysql php-pdo libzip

php官網(wǎng)上最新的5.4版本是 5.4.39,下載源碼到本地

 wget http://cn2.php.net/distributions/php-5.4.39.tar.gz


解壓并進(jìn)入擴(kuò)展目錄

tar zxvf php-5.4.39.tar.gz
cd php-5.4.39/ext/mssql

使用phpize生成configure腳本文件

phpize


生成makefile

./configure


編譯

make


編譯之后將會(huì)在modules子目錄生成mssql.so擴(kuò)展文件。復(fù)制擴(kuò)展文件到php的擴(kuò)展文件目錄

sudo cp modules/mssql.so /usr/lib64/php/modules/

在/etc/php.d目錄下新建mssql.ini 文件,輸入以下內(nèi)容

; Enable mssql extension module
extension=mssql.so


這樣PHP就能加載SQL Server驅(qū)動(dòng)了。使用如下代碼測試PHP連接SQL Server。

<?php
header("Content-type: text/html; charset=utf-8");

$msdb=mssql_connect("sql-server-2000","sa","test");
if (!$msdb) {
        echo "connect sqlserver error";
        exit;     
}

mssql_select_db("msdb",$msdb);
$result = mssql_query("SELECT top 5 * FROM employee", $msdb);
while($row = mssql_fetch_array($result)) {
        var_dump($row);
}

mssql_free_result($result);
?>

代碼中的數(shù)據(jù)庫配置信息可以替換成別的。測試命令如下

php -f test-mssql.php


成功執(zhí)行后將會(huì)打印出數(shù)據(jù)庫表中記錄數(shù)據(jù)。

目前原生PHP代碼已經(jīng)可以連接SQL Server了,但是Laravel還是不行,還需要再編譯生成一個(gè)pdo_dblib.so擴(kuò)展驅(qū)動(dòng)。

6.編譯pdo_dblib.so擴(kuò)展適配Laravel

cd php-5.4.39/ext/pdo_dblib
./configure
make
sudo cp modules/pdo_dblib.so /usr/lib64/php/modules/

再到/etc/php.d下新建pdo_dblib.ini,輸入以下內(nèi)容

; Enable pdo_dblib extension module
extension=pdo_dblib.so

再編輯Laravel的app/config/database.php文件,將sqlsrv區(qū)域改為一下形式

&#39;sqlsrv&#39; => array(
                        &#39;driver&#39;   => &#39;sqlsrv&#39;,
                        &#39;host&#39;     => &#39;sql-server-2000&#39;,
                        &#39;database&#39; => &#39;msdb&#39;,
                        &#39;username&#39; => &#39;sa&#39;,
                        &#39;password&#39; => &#39;test&#39;,
                        &#39;prefix&#39;   => &#39;&#39;,
                ),


這樣Laravel也可以連接SQL Server了。

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
比特幣代號(hào)是什麼?比特幣是什麼樣式的代碼? 比特幣代號(hào)是什麼?比特幣是什麼樣式的代碼? Jul 22, 2025 pm 09:51 PM

比特幣作為數(shù)字世界的先驅(qū),其獨(dú)特的代號(hào)和底層技術(shù)一直是人們關(guān)注的焦點(diǎn)。它的標(biāo)準(zhǔn)代號(hào)是 BTC,在某些符合國際標(biāo)準(zhǔn)的平臺(tái)上也被稱為 XBT。從技術(shù)角度看,比特幣並非單一的代碼樣式,而是一個(gè)龐大且精密的開源軟件項(xiàng)目,其核心代碼主要由 C 語言編寫,並融合了密碼學(xué)、分佈式系統(tǒng)和經(jīng)濟(jì)學(xué)原理,任何人都可以查看、審查和貢獻(xiàn)其代碼。

安裝Linux的系統(tǒng)要求 安裝Linux的系統(tǒng)要求 Jul 20, 2025 am 03:49 AM

LinuxCanrunonModestHardwarewtareWithSpecificminimumRequirentess.A1GHZPROCESER(X86ORX86_64)iSNEDED,withAdual-Corecpurecommondend.r AmshouldBeatLeast512MbForCommand-lineUseor2Gbfordesktopenvironments.diskSpacePacereQuiresaminimumof5-10GB,不過25GBISBISBETTERFORAD

如何讓PHP容器支持自動(dòng)構(gòu)建 PHP環(huán)境持續(xù)集成CI配置方式 如何讓PHP容器支持自動(dòng)構(gòu)建 PHP環(huán)境持續(xù)集成CI配置方式 Jul 25, 2025 pm 08:54 PM

要讓PHP容器支持自動(dòng)構(gòu)建,核心在於配置持續(xù)集成(CI)流程。 1.使用Dockerfile定義PHP環(huán)境,包括基礎(chǔ)鏡像、擴(kuò)展安裝、依賴管理和權(quán)限設(shè)置;2.配置GitLabCI等CI/CD工具,通過.gitlab-ci.yml文件定義build、test和deploy階段,實(shí)現(xiàn)自動(dòng)構(gòu)建、測試和部署;3.集成PHPUnit等測試框架,確保代碼變更後自動(dòng)運(yùn)行測試;4.使用Kubernetes等自動(dòng)化部署策略,通過deployment.yaml文件定義部署配置;5.優(yōu)化Dockerfile,採用多階段構(gòu)

如何搭建獨(dú)立PHP任務(wù)容器環(huán)境 PHP定時(shí)腳本運(yùn)行容器配置方法 如何搭建獨(dú)立PHP任務(wù)容器環(huán)境 PHP定時(shí)腳本運(yùn)行容器配置方法 Jul 25, 2025 pm 07:27 PM

搭建獨(dú)立PHP任務(wù)容器環(huán)境可通過Docker實(shí)現(xiàn),具體步驟如下:1.安裝Docker與DockerCompose作為基礎(chǔ);2.創(chuàng)建獨(dú)立目錄存放Dockerfile、crontab文件;3.編寫Dockerfile定義PHPCLI環(huán)境並安裝cron及必要擴(kuò)展;4.編寫crontab文件定義定時(shí)任務(wù);5.編寫docker-compose.yml掛載腳本目錄並配置環(huán)境變量;6.啟動(dòng)容器並驗(yàn)證日誌。相比Web容器內(nèi)執(zhí)行定時(shí)任務(wù),獨(dú)立容器具備資源隔離、環(huán)境純粹、穩(wěn)定性強(qiáng)、便於擴(kuò)展等優(yōu)勢(shì)。為確保日誌與錯(cuò)誤捕

如何在Linux中添加用戶 如何在Linux中添加用戶 Jul 21, 2025 am 03:32 AM

在Linux中添加用戶常用useradd或adduser命令。 1.使用useradd時(shí)需手動(dòng)設(shè)置密碼和家目錄,加-m參數(shù)可創(chuàng)建家目錄;2.可通過-s、-G、-u等參數(shù)指定shell、組和UID;3.adduser是交互式命令,適合新手自動(dòng)完成配置;4.注意權(quán)限、用戶名唯一性和家目錄權(quán)限問題;5.誤操作可用userdel刪除用戶及家目錄。掌握這些要點(diǎn)可高效安全地管理用戶。

如何在Linux上安全刪除硬盤驅(qū)動(dòng)器 如何在Linux上安全刪除硬盤驅(qū)動(dòng)器 Jul 24, 2025 am 12:08 AM

確認(rèn)目標(biāo)硬盤設(shè)備名(如/dev/sda),避免誤刪系統(tǒng)盤;2.使用sudoddif=/dev/zeroof=/dev/sdXbs=1Mstatus=progress全盤覆寫零值,適用於大多數(shù)場景;3.敏感數(shù)據(jù)使用sudoshred-v-n3/dev/sdX進(jìn)行三次隨機(jī)數(shù)據(jù)覆寫,確保無法恢復(fù);4.可選執(zhí)行sudobadblocks-wsv/dev/sdX做破壞性寫入測試;最後用sudohexdump-C/dev/sdX|head驗(yàn)證是否全為零,完成安全擦除。

安裝Linux後該怎麼辦 安裝Linux後該怎麼辦 Jul 23, 2025 am 02:57 AM

AfterinstallingLinux,thefirststepsincludeupdatingyoursystem,installingessentialsoftware,settingupbackupandsecuritymeasures,andcustomizingtheinterfacetosuityourpreferences.1)Updateyoursystemusingtheappropriatecommandforyourdistro(e.g.,sudoaptupdate&am

SQL開發(fā)人員的關(guān)係數(shù)據(jù)庫設(shè)計(jì)原理 SQL開發(fā)人員的關(guān)係數(shù)據(jù)庫設(shè)計(jì)原理 Jul 21, 2025 am 01:56 AM

設(shè)計(jì)關(guān)係型數(shù)據(jù)庫時(shí),應(yīng)遵循四個(gè)關(guān)鍵原則。首先,正確使用主鍵和外鍵約束,確保數(shù)據(jù)完整性和關(guān)聯(lián)準(zhǔn)確性;其次,合理進(jìn)行規(guī)範(fàn)化設(shè)計(jì),通常達(dá)到第三範(fàn)式(3NF),消除冗餘並保證數(shù)據(jù)一致性;第三,為常用查詢建立合適的索引,提升查詢性能但避免過度索引;最後,使用一致的命名規(guī)範(fàn)和結(jié)構(gòu)風(fēng)格,增強(qiáng)可讀性和可維護(hù)性。掌握這些原則有助於構(gòu)建清晰、高效、健壯的數(shù)據(jù)庫結(jié)構(gòu)。

See all articles