centos7+php+sqlserver配置方法

centos hykeda 788℃ 0评论

这段时间迁移老项目,其中有一个项目使用php编写,放置在windows中,然后连接的是sqlserver数据库,现在将项目搬迁至centos中,需要配置环境。

系统环境:

1、centos7;

2、宝塔面板6.9;

3、php7.3(宝塔面板可以多版本php安装和切换)

这里介绍两种连接方式:

一、pdo_sqlsrv方式

【加入微软的源】

curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo

【安装驱动 unixODBC】

yum install msodbcsql mssql-tools unixODBC-devel

【下载pdo_sqlsrv扩展包】

wget http://pecl.php.net/get/pdo_sqlsrv-5.6.0.tgz

注:pdo_sqlsrv 下载地址:http://pecl.php.net/package/pdo_sqlsrv

然后解压

tar -zxvf pdo_sqlsrv-5.6.0.tgz
cd pdo_sqlsrv-5.6.0

【当前为宝塔,路径如下,使用对应php版本的phpize】

/www/server/php/73/bin/phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
make && make install

【加入扩展】

echo "extension = pdo_sqlsrv.so" >> /www/server/php/73/etc/php.ini
/etc/init.d/php-fpm-73 reload

【检查扩展是否安装成功】

/www/server/php/73/bin/php -m|grep -i  sqlsrv

安装成功后,可以用phpinfo()查看pdo_sqlsrv是否已经安装成功。

php调用方式:

// 数据库用户
$strDbUser = 'sqlTour_WWK3n3';
// 数据库密码
$strDbPass = 'qADPnXHQ7kYtZMPTGIuRMA';
// 数据库服务器地址
$strDbHost = 'tour.eyuyao.com';
// 数据库名称
$strDbName = 'dbTour';
// 连接数据库的字符串定义
$strDsn = "sqlsrv:Server=$strDbHost;Database=$strDbName;";
// 生成pdo对象
$objDB = new PDO($strDsn, $strDbUser, $strDbPass);
foreach ($objDB->query('select* from table') as $row) {
    var_dump($row);
    return;
}

二、sqlsrv方式

加入微软源和安装驱动和上面一样,这里从下载安装开始

【下载sqlsrv扩展包:http://pecl.php.net/package/sqlsrv

wget http://pecl.php.net/get/sqlsrv-5.6.0.tgz

然后解压

tar -zxvf sqlsrv-5.6.0.tgz
cd sqlsrv-5.6.0

【当前为宝塔,路径如下,使用对应php版本的phpize】

/www/server/php/73/bin/phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
make && make install

【加入扩展】

echo "extension = sqlsrv.so" >> /www/server/php/73/etc/php.ini
/etc/init.d/php-fpm-73 reload

安装成功后调用:

$serverName = "地址";
$connectionInfo = array("Database"=>"数据库","UID"=>"用户名","PWD"=>"密码","CharacterSet" => "UTF-8"); 
$conn = sqlsrv_connect($serverName, $connectionInfo); 
if(!$conn) { 
echo "Connection could not be established."; 
}

注意点:
1、linux中只有4.0以上才有支持,低版本只支持windows。
2、4.0以上只能支持php7.0以上,所以php版本低的还是直接用windows吧。
3、微软网站版本支持说明:https://docs.microsoft.com/zh-cn/sql/connect/php/microsoft-php-drivers-for-sql-server-support-matrix?view=sql-server-2017。
4、查看版本发现:https://github.com/Microsoft/msphpsql/releases
5、微软下载地址:https://docs.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017
6、github地址:https://github.com/Microsoft/msphpsql

参考文档:https://www.cnblogs.com/xjnotxj/p/6125305.html
宝塔安装参考文档:https://www.jianshu.com/p/730f2cca9d57

转载请注明:雕木乱 » centos7+php+sqlserver配置方法

喜欢 (0)

您必须 登录 才能发表评论!