linux下php加装mssql模块的方法

要在Linux环境下使用PHP连接MSSQL数据库,需要安装mssql模块。下面是在Ubuntu系统下安装的详细教程:

安装freetds

  1. 安装依赖

shell
sudo apt-get install build-essential libssl-dev

  1. 下载freetds源码

shell
cd ~
wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.21.tar.gz
tar -zxvf freetds-1.00.21.tar.gz
cd freetds-1.00.21

  1. 编译安装

shell
./configure --prefix=/usr/local/freetds
make && sudo make install

安装php-mssql

  1. 安装依赖

shell
sudo apt-get install php7.2-dev php-pear unixodbc-dev

  1. 下载php-mssql源码

shell
cd ~
wget https://github.com/Microsoft/msphpsql/archive/5.6.1.tar.gz -O msphpsql-5.6.1.tar.gz
tar -zxvf msphpsql-5.6.1.tar.gz
cd msphpsql-5.6.1/source

  1. 编译安装

shell
phpize
./configure --with-php-config=/usr/bin/php-config --with-mssql=/usr/local/freetds
make && sudo make install

  1. 配置php.ini

/etc/php/7.2/cli/php.ini中添加以下内容:

ini
extension=/usr/lib/php/20170718/mssql.so

  1. 重启php-fpm

shell
sudo systemctl restart php7.2-fpm

示例说明

  1. 连接MSSQL数据库

php
$dsn = "dblib:host=server_name_or_ip;dbname=db_name;charset=UTF-8";
$username = "username";
$password = "password";
$pdo = new PDO($dsn, $username, $password);

  1. 查询MSSQL数据

php
$sql = "SELECT * FROM table_name";
$statement = $pdo->query($sql);
if($statement !== false){
$rows = $statement->fetchAll(PDO::FETCH_ASSOC);
print_r($rows);
}else{
echo "query error!";
}

注意:连接MSSQL数据库需要使用PDO的dblib驱动,而不是mssql/mssql_*函数。另外,使用freetds时,需要在dsn中指定charset=UTF-8。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux下php加装mssql模块的方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • oracle10g全文索引自动同步语句使用方法

    下面是“oracle10g全文索引自动同步语句使用方法”的完整攻略: 1. 概述 全文检索是一种常用的搜索技术,可以用于数据库中文本字段的模糊匹配搜索。在Oracle10g中,我们可以使用全文索引来提高搜索效率,并且通过使用自动同步语句,可以定期自动同步全文索引。本攻略将详细介绍如何创建全文索引,并且使用自动同步语句进行更新。 2. 全文索引创建 要创建全文…

    database 2023年5月21日
    00
  • NodeJs Express中间件使用流程解析

    让我来给你详细讲解一下“NodeJs Express中间件使用流程解析”的完整攻略。 什么是中间件 在理解中间件的使用流程之前,我们先来了解一下什么是中间件。中间件是指介于应用程序和底层技术软件之间的一段软件,可以将不同的系统相互连接起来。在 Express 应用中,中间件可以用于设置响应头、验证请求参数等。 中间件的使用流程 在 Express 应用中使用…

    database 2023年5月22日
    00
  • Android使用SQLite数据库的示例

    Android是一个开放源码的操作系统,在移动设备上的应用非常广泛。而在Android应用开发中,SQLite是一种非常常用的轻量级嵌入式关系型数据库,它非常适合存储在设备上的数据(如音乐、视频、联系人等)。下面,本文将为大家介绍Android使用SQLite数据库的示例。 创建SQLite数据库 在Android开发中创建SQLite数据库,需要完成以下步…

    database 2023年5月21日
    00
  • 快速安装openshift的步骤详解

    快速安装 OpenShift 步骤详解 前置条件 在安装 OpenShift 前,你需要先准备好以下内容: 安装并配置好 Docker 安装并配置好 Kubernetes 安装并配置好 etcd 安装并配置好 OpenShift CLI 工具 oc 步骤一:下载并安装 OpenShift 打开 OpenShift 官网 https://www.openshi…

    database 2023年5月22日
    00
  • mysql派生查询必须有别名问题记录

    最近在做mysql sql兼容,原来是oracle的sql都要保证在mysql数据库运行业务场景:原来是一个带有子查询的sql,在oracle是可以正常运行的,迁到mysql就发现报错了,报错信息如: Every derived table must have its own alias 这个报错的意思是,派生出来的查询结果必须有一个别名,比如SQL: se…

    MySQL 2023年4月13日
    00
  • K-Means和DBScan聚类的区别

    先来看一下K-Means和DBScan聚类的基本讲解。 K-Means是一种基于距离度量的聚类算法,它将数据集划分为K个聚类,使得同一聚类中的数据点具有相似的特征,而不同聚类中的数据点差别较大。K-Means算法的基本思想是随机选取K个质心,然后将数据集中的每个数据点都分配到离它最近的质心所在的聚簇中,然后计算新的质心,重复以上过程,直到质心不再变化或达到一…

    database 2023年3月27日
    00
  • MySQL默认值(DEFAULT)详解

    默认值是指在创建表时,当没有为该列指定特定值时,将为该列赋予的默认值。MySQL支持为列设置默认值,并且默认为NULL或特定值。可以设置DEFAULT关键字来指定默认值,并且可以使用函数、表达式等方式为此指定默认值。 在MySQL中,DEFAULT 关键字用于设置默认值。有两种方式设置默认值:设置常数或使用函数或表达式。 设置常数作为默认值: CREATE …

    MySQL 2023年3月9日
    00
  • 一文带你吃透Redis

    目录 1. 基本数据结构 2. 数据持久化 3. 高可用 4. 缓存 文章字数大约1.9万字,阅读大概需要66分钟,建议收藏后慢慢阅读!!! 1. 基本数据结构 什么是Redis Redis是一个数据库,不过与传统数据库不同的是Redis的数据库是存在内存中,所以读写速度非常快,因此 Redis被广泛应用于缓存方向。 除此之外,Redis也经常用来做分布式锁…

    Redis 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部