首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法用PDO: PHP7连接到MSSQL PHP7

无法用PDO: PHP7连接到MSSQL PHP7
EN

Stack Overflow用户
提问于 2018-06-13 15:27:26
回答 2查看 3.7K关注 0票数 1

首先,我很抱歉,因为我对Linux的经验很少,所以我可能并不了解一些显而易见的东西。最后,我试图通过PHP查询MSSQL数据库。

我安装了freetds和unixODBC。我用tsql (freetds)和isql (unixODBC)确认了设置,一切都正常。问题是当我试图使用pdo从PHP连接时:$db = new (‘odbc:mssql’,'$username','$password');

我收到一个致命的PHP错误:未登录的PDOException:找不到驱动程序.

经过进一步的检查,我查看了我的PHP信息文件,可用的PDO驱动程序是: mysql和sqlite。如何/从哪里获得用于PHP7的pdo驱动程序?在PHP文档中,驱动程序似乎包含在PHP源代码中,但我看到的唯一选项是使用./配置,据我所知,只有从源代码编译。

有办法将驱动程序添加到已经编译的PHP7版本中吗?我觉得我错过了一些愚蠢的东西。任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-13 15:34:30

如果您的操作系统是UBUNTU,则为

为Linux安装unixODBC驱动程序管理器和Microsoft驱动程序

代码语言:javascript
复制
wget https://raw.githubusercontent.com/Microsoft/msphpsql/PHP-7.0-Linux/ODBC%20install%20scripts/installodbc_ubuntu.sh

运行安装程序

代码语言:javascript
复制
sh installodbc_ubuntu.sh

安装PHP依赖程序

代码语言:javascript
复制
apt-get install php-pear php-dev

安装sqlsrv (用pecl搜索sqlsrv检查最后一个版本)

代码语言:javascript
复制
pecl install sqlsrv-4.0.5

安装pdo_sqlsrv (用pecl搜索sqlsrv检查最后一个版本)

代码语言:javascript
复制
pecl install pdo_sqlsrv-4.0.5

负载扩展

代码语言:javascript
复制
echo "extension=sqlsrv.so" | sudo tee --append /etc/php/7.0/fpm/php.ini
echo "extension=pdo_sqlsrv.so" | sudo tee --append /etc/php/7.0/fpm/php.ini

重新启动PHP

代码语言:javascript
复制
service php7.0-fpm restart

For windows https://learn.microsoft.com/en-us/sql/connect/php/loading-the-php-sql-driver?view=sql-server-2017

CentOS 7

代码语言:javascript
复制
sudo su
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
exit
sudo yum update
sudo ACCEPT_EULA=Y yum install -y msodbcsql mssql-tools unixODBC-devel 
sudo yum groupinstall "Development Tools"
sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
echo "extension=sqlsrv" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
echo "extension=pdo_sqlsrv" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

或通过yum查找;https://webtatic.com/packages/php70/

票数 2
EN

Stack Overflow用户

发布于 2018-06-13 15:34:05

其他PHP驱动程序应该作为系统包安装,这取决于您的linux发行版。例如,使用Debian,您可以使用以下命令安装所需的包:

代码语言:javascript
复制
sudo apt-get install php7.1-odbc

至少,这将是走上正确道路的一步。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50840984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档