docker php连接sql server2000

本文介绍了如何在Ubuntu 14上使用PHP 7连接远程SQL Server 2000,解决ODBC Driver不支持的问题。通过在服务器上安装Docker并拉取apache-php-mssql-odbc镜像,实现PHP通过pdo_dblib扩展连接数据库。当遇到中文表名导致查询失败的问题时,通过调整SQL语句格式解决了问题。
摘要由CSDN通过智能技术生成

  最近接了个项目,需要连接远程的sqlserver 2000.当时的服务器环境是ubuntu14,php7。但是在自己安装好相应的拓展后,网页却提示:ODBC Driver 13 for SQL Server does not support connections to SQL Server 2000 or earlier versions,然后在另一台服务器上安装 ODBC Driver 11 的ODBC源时,也提示不支持sql server 2000的数据库。

 当时有二个方案,一是使用php5.2版本自带的mssql拓展来连接mssql数据库,写好相应的接口给项目使用

 另一个是安装pdo_dblib扩展。

后来在一位大佬的提示下,可以给服务器安装docker,在docker拉取相应的镜像来使用就可以啦。

 

第一步. docker的初步学习

这块可以在菜鸟教程学习。

第二步:选择相应的docker镜像

我这块找到的是:apache-php-mssql-odbc镜像     地址:https://hub.docker.com/r/ppoffice/apache-php-mssql-odbc/

1)pull 镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Linux系统上配置PHP环境以连接SQL Server数据库通常涉及以下几个步骤: 1. 安装必要的软件包: - 首先确保已经安装了基本的Linux工具,如`curl`, `tar`等。 - 使用包管理器安装PHP。对于Debian系列的系统(如Ubuntu),可以运行`sudo apt-get install php php-mysql`,对于RPM系的(如CentOS),则用`sudo yum install php php-mysqli`。 2. 安装php-sqlsrv扩展: PHP官方并不直接支持SQL Server,你需要安装第三方的php-sqlsrv扩展。可以在PECL (PHP Extension Community Library)官网下载源码包,或者通过Composer安装。例如: ``` sudo pecl install sqlsrv sudo docker-php-ext-enable sqlsrv ``` 3. 配置PDO: 如果计划使用PDO与SQL Server通信,还需要安装pdo_sqlsrv扩展,并在php.ini文件中启用它。 4. 配置系统变量: 在`/etc/php/7.4/fpm/php.ini` 或者相应的PHP版本配置文件中添加SQL Server连接信息,包括服务器名称、用户名、密码以及数据库名。示例: ```ini [mysqli] ; 添加SQL Server驱动 extension=mysqli.so extension=sqlsrv.so ; SQL Server连接参数 sqlsrvsrvr_host = your_server_name sqlsrvsrvr_username = your_username sqlsrvsrvr_password = your_password sqlsrvsrvr_database = your_database_name ``` 5. 重启PHP-FPM服务: ``` sudo service php-fpm restart ``` 6. 测试连接: 创建一个简单的PHP脚本测试连接,比如: ```php <?php try { $conn = new PDO("sqlsrv:Server=$sqlsrvsrvr_host;Database=$sqlsrvsrvr_database", $sqlsrvsrvr_username, $sqlsrvsrvr_password); echo "Connected to SQL Server successfully."; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值