全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: FXB
打印 上一主题 下一主题

【明盘100 已解决,奖励已发】,解决个Linux 下 使用odbc_connect()

[复制链接]
11#
 楼主| 发表于 2021-12-23 19:22:54 | 只看该作者
kooneey 发表于 2021-12-23 18:36
你是怎么安装的php?如果是apt之类的包管理的话,有php7.4-odbc (7.4替换成你的版本)这种扩展,安装完了重 ...

大佬,知道下怎么操作?
12#
发表于 2021-12-25 21:14:42 | 只看该作者
本帖最后由 LiuJia 于 2021-12-26 14:06 编辑

感谢楼主提供有用的信息,经过约一天半的本地模拟环境测试,能使用odbc_connect()连接到SQL Server 2000。记录如下:

  • 下载 unixODBC-2.3.9 源码文件。再配置、编译和安装。如本例,是将unixODBC安装到/usr/local/unixODBC的路径,所以在配置时,是 ./configure --prefix=/usr/local/unixODBC
  • 下载 freetds-1.3.4 源码文件。再配置、编译和安装。如本例,是将FreeTDS安装到/usr/local/freetds的路径,在配置时,除了要加上自定义的安装路径,还要加上unixODBC的参数,如 ./configure --with-tdsver=7.4 --prefix=/usr/local/freetds --enable-msdblib --with-unixodbc=/usr/local/unixODBC
  • 如果宝塔环境中,安装的php版本是7.3.33的,请下载 php-7.3.33 源码文件。解压后,在原宝塔的php配置参数基础上加上 '--with-unixODBC=/usr/local/unixODBC' 。如本例,
    1. [root@localhost php-7.3.31]# './configure'  '--prefix=/www/server/php/73' '--with-config-file-path=/www/server/php/73/etc' '--enable-fpm' '--with-fpm-user=www' '--with-fpm-group=www' '--enable-mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--with-iconv-dir' '--with-freetype-dir=/usr/local/freetype' '--with-jpeg-dir' '--with-png-dir' '--with-zlib' '--with-libxml-dir=/usr' '--enable-xml' '--disable-rpath' '--enable-bcmath' '--enable-shmop' '--enable-sysvsem' '--enable-inline-optimization' '--with-curl=/usr/local/curl' '--enable-mbregex' '--enable-mbstring' '--enable-intl' '--enable-ftp' '--with-gd' '--with-openssl=/usr/local/openssl' '--with-mhash' '--enable-pcntl' '--enable-sockets' '--with-xmlrpc' '--enable-soap' '--with-gettext' '--disable-fileinfo' '--enable-opcache' '--with-sodium' '--with-webp' '--with-unixODBC=/usr/local/unixODBC'
    复制代码

  • 如果顺利,那么新版本的文件会覆盖原宝塔安装的php文件
  • 新版本的phpinfo信息输出中,应该有unixODBC的信息详情,如:ODBC library => unixODBC
  • 在web里测试,php使用 odbc_connect 函数 也正常,如:# curl http://192.168.97.65/5.php
    master 1
    tempdb 2
    model 3
    msdb 4


参考:
  • https://phpcj.org/linux%E4%B8%AD%E7%9A%84php7%E7%94%A8freetds%E8%BF%9C%E7%A8%8B%E8%BF%9E%E6%8E%A5mssql%E6%95%B0%E6%8D%AE%E5%BA%93/
  • http://blog.sina.com.cn/s/blog_a26e6d690102wxzf.html
  • http://www.unixodbc.org/doc/FreeTDS.html
  • http://www.unixodbc.org/doc/FreeTDS2.html
  • http://www.unixodbc.org/
  • https://blog.ll00.cn/archives/122.html
  • https://www.bt.cn/bbs/thread-51451-1-1.html
  • https://www.freetds.org/userguide/odbcdiagnose.html#with.unixODBC
  • https://www.freetds.org/userguide/php.html
  • https://www.freetds.org/userguide/config.html
  • https://stackoverflow.com/questions/32078398/connecting-to-sql-server-using-php-odbc-and-windows-authentication
  • https://github.com/magento/magento2/issues/12255
  • https://www.php.net/manual/en/function.odbc-connect.php
13#
发表于 2021-12-26 15:01:48 | 只看该作者
感谢楼主您的打赏。祝您每天的笑容和论坛的新帖一样多。
14#
 楼主| 发表于 2021-12-26 15:08:09 | 只看该作者
LiuJia 发表于 2021-12-26 15:01
感谢楼主您的打赏。祝您每天的笑容和论坛的新帖一样多。

感谢大佬指导
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2026-1-14 20:32 , Processed in 0.065931 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表