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日

相关文章

  • CouchDB 和 PostgreSQL 的区别

    CouchDB和PostgreSQL是两种不同类型的数据库,本文将介绍它们之间的区别和优劣势。 数据库类型 CouchDB是一种文档数据库,数据以文档的形式存在,每个文档都是一个JSON对象。而PostgreSQL是一种关系型数据库,其数据以表格的形式存在,每个表格都有一个特定的模式。 数据模型 在CouchDB中,文档是一种自包含的单位,它们存在于称为数据…

    database 2023年3月27日
    00
  • linux下xhost命令报错:unable to open display的解决办法

    当在 Linux 上运行 X11 应用程序时,有时会收到 “unable to open display” 错误。这种情况通常是由于某些权限设置或 X Windows 环境中的配置问题所致。其中最常见的问题之一是客户端尝试使用 xhost 命令打开 X 显示,但 X 服务器不允许这样做。此时需要按照以下步骤来解决该问题: 步骤一:检查 DISPLAY 变量是…

    database 2023年5月22日
    00
  • Ubuntu系统怎么查看磁盘使用情况?

    当我们使用Ubuntu系统并且需要查看磁盘的使用情况时,我们可以使用以下命令行工具: 1. 使用df命令 df命令可以查看文件系统的磁盘使用情况,我们可以使用以下命令查看: df -h 其中,“-h”参数可以使输出的结果更易读,以人类可读的方式显示磁盘使用量和可用空间,单位为GB或MB。 例如,我们可以使用以下命令查看/dev/sda1分区的使用情况: df…

    database 2023年5月22日
    00
  • Linux平台mysql开启远程登录

    那么下面来详细讲解如何在Linux平台下开启MySQL的远程登录,并且给出两个具体示例。 1. 修改MySQL配置文件 首先,需要修改MySQL的配置文件,以允许远程登录。可以使用以下命令查找配置文件的位置: sudo find / -name my.cnf 通常情况下,MySQL的配置文件位于/etc/mysql/my.cnf下。找到配置文件后,使用以下命…

    database 2023年5月22日
    00
  • Window平台搭建Redis分布式缓存集群 (一)服务器搭建及性能测试

           百度定义:Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型),为了保证效率,数据都是缓存在内存中。        区别的是redis会周期性的把更新的数据写入磁…

    Redis 2023年4月13日
    00
  • linux下源码安装mysql5.6.20教程

    以下是Linux下源码安装mysql5.6.20的完整攻略。 一、前置条件 在进行安装之前,请确保已经满足以下要求: 已经安装了必要的依赖包: gcc,make,cmake,libncurses5-dev。 已经下载了mysql5.6.20的源码包,并解压到目标目录。 二、安装步骤 进入mysql源码目录,执行以下命令进行配置: cmake . -DCMAK…

    database 2023年5月22日
    00
  • Mysql数据库报错2003 Can’t connect to MySQL server on ‘localhost’ (10061)解决

    当我们尝试连接MySQL数据库时,有时会遇到以下错误: 2003 Can’t connect to MySQL server on ‘localhost’ (10061) 这是一个常见的MySQL连接错误,一般是由于数据库服务没有启动、防火墙或者MySQL的配置问题导致的。以下是针对该错误的完整攻略: 1. 检查MySQL服务是否启动 在出现该错误之前,先检…

    database 2023年5月18日
    00
  • MySQL Where 条件语句介绍和运算符小结

    MySQL是一种非常流行的关系型数据库管理系统,非常适合于处理大量数据。在使用MySQL时,Where条件语句是非常重要的一部分,可以通过使用Where来根据条件过滤数据,从而获取我们想要的数据。 本文将深入讲解MySQL中Where条件语句的使用方法和运算符小结。 一、Where条件语句介绍 Where条件语句是用于从表中的记录中选择特定记录的语句。Whe…

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