这段时间迁移老项目,其中有一个项目使用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
然后解压
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方式
加入微软源和安装驱动和上面一样,这里从下载安装开始
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