前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >给宝塔安装的 PHP 安装 PDO ODBC 扩展

给宝塔安装的 PHP 安装 PDO ODBC 扩展

原创
作者头像
jwj
修改2021-08-19 10:15:03
3K0
修改2021-08-19 10:15:03
举报

PHP 和 MySQL一直都是很好地搭配,但我们有时因业务需要,要连接 Microsoft SQL Server 数据库,然后要使用 PDO ODBC 才能连接,但宝塔安装的 PHP 默认并没有装这个扩展,经过一系列踩坑,整理出了下面的教程,希望对你有帮助。

安装unixODBC

unixODBC 是一个数据库连接组件,安装 pdo_odbc 前需要安装这个,否则安装 pdo_odbc 时会出现 Cannot find header file(s) for pdo_odbc 错误。

代码语言:txt
复制
yum install unixODBC unixODBC-devel libtool-ltdl libtool-ltdl-devel
安装 unixODBC 截图
安装 unixODBC 截图

切换到 pdo_odbc 源代码目录

PHP 5.1 开始,PDO_ODBC 包含在 PHP 源代码中。可以使用 configure 命令将 PDO_ODBC 扩展编译为静态或共享模块。

所以我们只需要切换到 pdo_odbc 源代码目录进行编译,不用再去另外下载了。

以下我用的是 PHP 7.4 ,宝塔我选择安装到 /www 目录,后续你需要根据你的情况修改路径中的版本和安装目录,例如:PHP 5.6,你可以把路径中的 74 改成 56PHP 8.0,你可以把路径中的 74 改成 80

代码语言:txt
复制
cd /www/server/php/74/src/ext/pdo_odbc

清理编译缓存

如果你在尝试这篇教程直接,尝试过其它网上的方法,先执行下以下命令清除缓存,否则加载扩展时可能会出现

PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) '/www/server/php/74/lib/php/extensions/no-debug-non-zts-20190902/pdo_odbc.so' in Unknown on line 0

代码语言:txt
复制
make clean

phpize

phpize 命令是用来准备 PHP 扩展库的编译环境的,主要是根据系统信息生成对应的 configure 文件。

代码语言:txt
复制
/www/server/php/74/bin/phpize
phpize
phpize

设置编译选项

代码语言:txt
复制
./configure --with-php-config=/www/server/php/74/bin/php-config  --with-pdo-odbc=unixODBC,/usr/
configure
configure

构建和安装

代码语言:txt
复制
make && make install
make && make install
make && make install

配置 php.ini

在宝塔里打开 PHP 管理,然后选择配置文件,大概在配置文件九百多行的位置新建一行,加入以下代码

代码语言:txt
复制
extension=pdo_odbc
配置php.ini
配置php.ini

重启php

在宝塔里打开 PHP 管理,然后选择服务,点击重启按钮。

重启php-fpm
重启php-fpm

查看 phpinfo

查看 phpinfo,如果找到 PDO_ODBC,基本就是安装成功。

phpinfo
phpinfo

安装了扩展,还要在服务器安装数据库连接驱动才能连接 SQL Server 数据库,可以查看官方的安装文档:https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017


最后,开发者们,欢迎您加入腾云先锋(TDP)反馈交流群,群内有丰富的活动可收获积分和成长值,兑换惊喜福利。加入方式:https://cloud.tencent.com/developer/article/1855195

我们是腾云先锋(TDP)团队,是腾讯云GTS官方组建并运营的技术开发者群体。里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹,期待您的加入!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装unixODBC
  • 切换到 pdo_odbc 源代码目录
  • 清理编译缓存
  • phpize
  • 设置编译选项
  • 构建和安装
  • 配置 php.ini
  • 重启php
  • 查看 phpinfo
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档