国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
本文介紹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)境測(cè)試通過。" >本文在CentOS 7 64bit和Laravel 4.2環(huán)境測(cè)試通過。
1.下載源碼并解壓縮
2.配置并生成makefile
3.編譯安裝
4.測(cè)試
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)境測(cè)試通過。

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.測(cè)試

/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)了。使用如下代碼測(cè)試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ù)庫配置信息可以替換成別的。測(cè)試命令如下

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了。

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系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脫衣機(jī)

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 教程
1601
29
PHP教程
1502
276
如何讓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)建、測(cè)試和部署;3.集成PHPUnit等測(cè)試框架,確保代碼變更后自動(dòng)運(yùn)行測(cè)試;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上安全刪除硬盤驅(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ù)場(chǎng)景;3.敏感數(shù)據(jù)使用sudoshred-v-n3/dev/sdX進(jìn)行三次隨機(jī)數(shù)據(jù)覆寫,確保無法恢復(fù);4.可選執(zhí)行sudobadblocks-wsv/dev/sdX做破壞性寫入測(cè)試;最后用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中格式化日期? 如何在SQL中格式化日期? Jul 24, 2025 am 01:27 AM

在SQL中格式化日期需根據(jù)數(shù)據(jù)庫類型選擇相應(yīng)函數(shù),MySQL使用DATE_FORMAT()配合%Y、%m等格式符,例如SELECTDATE_FORMAT(NOW(),'%Y-%m-%d');SQLServer使用CONVERT()或FORMAT(),前者如SELECTCONVERT(VARCHAR,GETDATE(),112),后者如SELECTFORMAT(GETDATE(),'yyyy-MM-dd');PostgreSQL使用TO_CHAR(),如SELECTTO_CHAR(NOW(),'Y

在Linux計(jì)算機(jī)上設(shè)置GIT服務(wù)器 在Linux計(jì)算機(jī)上設(shè)置GIT服務(wù)器 Jul 28, 2025 am 02:47 AM

安裝Git:在服務(wù)器上通過包管理器安裝Git并驗(yàn)證版本;2.創(chuàng)建專用Git用戶:使用adduser創(chuàng)建git用戶并可選地限制其shell訪問;3.配置開發(fā)者SSH訪問:為git用戶設(shè)置.ssh目錄和authorized_keys文件,添加開發(fā)者的公鑰;4.創(chuàng)建裸倉庫:在服務(wù)器上初始化bare倉庫并設(shè)置正確所有權(quán);5.客戶端克隆與推送:開發(fā)者通過SSH克隆倉庫、提交更改并成功推送代碼,完成私有Git服務(wù)器搭建。

Linux vs Windows:哪個(gè)操作系統(tǒng)更適合您? Linux vs Windows:哪個(gè)操作系統(tǒng)更適合您? Jul 29, 2025 am 03:40 AM

Windowsisbetterforbeginnersduetoeaseofuse,seamlesshardwarecompatibility,andsupportformainstreamsoftwarelikeMicrosoftOfficeandAdobeapps.2.LinuxoutperformsWindowsonolderorlow-resourcehardwarewithfasterboottimes,lowersystemrequirements,andlessbloat.3.Li

如何使用Cron和Anacron在Linux上安排任務(wù) 如何使用Cron和Anacron在Linux上安排任務(wù) Aug 01, 2025 am 06:11 AM

cronisusedforpreciseschedulingonalways-onsystems,whileanacronensuresperiodictasksrunonsystemsthataren'tcontinuouslypowered,suchaslaptops;1.Usecronforexacttiming(e.g.,3AMdaily)viacrontab-ewithsyntaxMINHOURDOMMONDOWCOMMAND;2.Useanacronfordaily,weekly,o

See all articles