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日

相关文章

  • python连接MySQL、MongoDB、Redis、memcache等数据库的方法

    连接MySQL数据库的方法: 首先需要安装mysql-connector-python这个Python库,可以使用pip命令进行安装。 然后在Python代码中导入库: python import mysql.connector 使用mysql.connector.connect()方法连接到数据库: python mydb = mysql.connecto…

    database 2023年5月22日
    00
  • 在MySQL数据库中使用C执行SQL语句的方法

    在MySQL数据库中使用C执行SQL语句,主要分为以下几个步骤: 安装MySQL Connector/C MySQL Connector/C是MySQL提供的官方C语言驱动程序,可以从MySQL官网上下载。安装完成后,需要将头文件和库文件的路径加入到编译器的搜索路径中。 包含头文件 在C程序中需要包含以下头文件: #include <mysql.h&g…

    database 2023年5月19日
    00
  • Cassandra 和 CouchDB 的区别

    Cassandra和CouchDB是两种不同类型的NoSQL数据库。它们的设计目标和未来的使用场景不同。在下面的攻略中,我们将围绕以下四个方面来讲解它们的不同之处: 数据的存储方式 数据的一致性 数据的查询方式 数据的可扩展性 1. 数据的存储方式 Cassandra和CouchDB都是面向文档的数据库。但是它们的存储方式是不同的。 Cassandra使用一…

    database 2023年3月27日
    00
  • php连接oracle数据库的核心步骤

    连接 Oracle 数据库是 PHP 开发过程中常用的操作之一。以下是连接 Oracle 数据库的核心步骤: 安装 Oracle 客户端 要连接 Oracle 数据库,首先需要安装 Oracle 客户端,它提供了连接 Oracle 数据库所需的驱动和文件。可以从 Oracle 官网上下载和安装最新版本客户端。 开启 Oracle 扩展 在连接 Oracle …

    database 2023年5月22日
    00
  • sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】

    优化分页数目: 分页查询是非常常见的需求,对于业务需求比较频繁的分页查询操作,我们可以通过优化存储过程的方式提高查询效率。我们可以通过限制查询取值范围,并使用ROW_NUMBER函数,实现分页优化。 示例: CREATE PROCEDURE P_GetDataByPage ( @PageIndex INT = 1 , @PageSize INT = 10 )…

    database 2023年5月19日
    00
  • PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)

    PHP入门教程之使用Mysqli操作数据库的方法 在PHP中,Mysqli是操作数据库的重要扩展库之一。本文将介绍Mysqli的连接、查询、事务回滚等操作方法,以及相应的示例说明。 连接Mysqli数据库 连接Mysqli数据库需要以下步骤: 创建Mysqli对象,并传入数据库连接所需的主机名、用户名、密码和数据库名等参数。 检测连接是否成功。 以下是连接M…

    database 2023年5月22日
    00
  • 深入SQL Server 跨数据库查询的详解

    深入SQL Server 跨数据库查询的详解 SQL Server 支持跨数据库查询,即可以在一个数据库中使用另一个数据库中的表和视图。本文将详细介绍跨数据库查询的基本语法,注意事项,以及使用示例。 基本语法 跨数据库查询的语法格式为: SELECT * FROM DATABASE_NAME.SCHEMA_NAME.TABLE_NAME 其中,DATABAS…

    database 2023年5月21日
    00
  • MySQL MyBatis 默认插入当前时间方式

    MySQL MyBatis 默认插入当前时间方式是一种常见的数据库操作方式,一般用于记录数据的创建或更新时间。下面是完整攻略,包含两条示例说明。 1. 概述 MySQL MyBatis 默认插入当前时间方式有两种方式实现:一种是在数据库层面实现,一种是在 MyBatis 层面实现。 在数据库层面实现,一般使用 TIMESTAMP 或 DATETIME 类型并…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部