- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,我很抱歉,因为我对 Linux 的经验很少,所以我可能只是不理解一些明显的东西。最终,我试图通过 PHP 查询 MSSQL 数据库。
我已经安装了 freetds 和 unixODBC。我用 tsql (freetds) 和 isql (unixODBC) 确认了设置,一切正常。问题是当我尝试使用 pdo 从 PHP 连接时,使用以下命令:
$db = new PDO('odbc:mssql', '$username','$password');
我收到一个致命的 PHP 错误:未捕获的 PDOException:找不到驱动程序...
经过进一步检查,我查看了我的 PHP 信息文件,可用的 PDO 驱动程序是:mysql 和 sqlite。如何/在哪里获得 PHP7 的 pdo odbc 驱动程序?在 PHP 文档中,驱动程序似乎包含在 PHP 源代码中,但我看到的唯一选择是使用 ./configure ,据我了解,这只是从源代码编译。
有没有办法将驱动程序添加到已经编译的 PHP7 版本中?我觉得我错过了一些愚蠢的东西。任何帮助将不胜感激!
最佳答案
如果你的操作系统是 UBUNTU
安装适用于 Linux 的 unixODBC 驱动程序管理器和 Microsoft ODBC 驱动程序
wget https://raw.githubusercontent.com/Microsoft/msphpsql/PHP-7.0-Linux/ODBC%20install%20scripts/installodbc_ubuntu.sh
sh installodbc_ubuntu.sh
apt-get install php-pear php-dev
pecl install sqlsrv-4.0.5
pecl install pdo_sqlsrv-4.0.5
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
service php7.0-fpm restart
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*||"`
关于php - 无法使用 PDO : unixODBC 连接到 MSSQL PHP7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50840984/
我有一个在 Docker 容器中运行的 Python Flask 应用程序,该容器通过 SQLAlchemy 连接到 MS SQL Server(企业数据库)。但是,当我尝试构建容器时遇到包冲突。这是
我正在尝试在 redhat 6.3 中安装 msodbcsql v13。它显示 unixODBC(64 位) >= 2.3.1 需要在安装 msodbcsql 之前安装的依赖项错误。 我尝试在命令下运
我要问和回答这个问题,因为这使我花了很长时间才弄清楚,我希望答案从这里开始。 问题:一个长时间运行的unixODBC查询会阻止同一应用程序中的所有其他查询。 问题是:如何阻止这种情况的发生。 最佳答案
我正在使用 ArchLinux,我正在尝试安装 OpenEdge 进度驱动程序,以便我可以通过 PHP 访问它。我已经安装了 unixodbc 包和驱动程序,但是当我通过 isql 或 PHP 测试连
我用 C++ 编写了一些使用 ODBC 远程处理数据库的软件。在这种情况下,数据库在 Postgres 引擎中运行,而我的软件在安装了 unixODBC 和 odbc-postgres 驱动程序的 U
我使用unixODBC连接到mssql数据库通过 odbc。问题是无论我添加多少数据源odbc.ini,它始终使用列表中的第一个数据库.. odbcinst.ini [ODBC] Trace
我的应用程序用于从大文件的不同部分读取数据并更新表。数据的每个部分都与一个单独的表相关联。更新过程可以包含多个插入、更新和删除语句。 我试图将文件拆分为多个文件并运行 3、4 或 n 个应用程序实例以
我的unixodbc可以连接到PostgreSQL,但是unixodbc总是写入错误的跟踪文件。我在/tmp/odbc.log 中设置跟踪文件,但 unixodbc 总是将其写入/tmp/sql.lo
我正在使用 Ubuntu+php+unixodbc+mdbtools 来处理 .mdb 文件。 每件事(连接+选择)都很好,但是插入或更新语句。 我的代码是这样的: $mdbConnection =
我有一个类似的查询 select x from tableName where startDate = { ts '?' } for update;");
我在一个环境中工作,该环境在组织范围内集中安装的驱动器上安装了 unixODBC,但我们(实际开发人员)不允许在其中安装驱动程序或数据源。这一切都是倒退的,但我必须忍受它。 现在我正在尝试构建一个 p
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
我需要将 LAMP(Linux Ubuntu 12.10、Apache 2、MySQL 5、PHP 5.3)服务器中的 PHP 脚本连接到 Access MDB 数据库(2003 版)。 1。 uni
我试图弄清楚这两个拼图在连接到 Linux 上的 MS-SQL 服务器时如何交互和组合在一起。 据我了解,FreeTDS 是用于与 MS-SQL 对话的协议(protocol)(即一组规则),它是真正
有两个主要的开源平台独立实现ODBC 。是iODBC和 unixODBC . 考虑到 Unix 作为 ODBC 用户平台和功能,这两种实现之间真正的实际差异是什么? 最佳答案 只是为了让您知道我使用
我已将此代码包含在当前事件主题的 functions.php 中,并且在 WINDOWS 平台 上完美运行(即:我首先将 .mdb 文件上传到服务器上,然后从文件中读取表格)。就像我们使用 MySQL
我已经为此工作了太久,似乎无法弄清楚。我确定我的 freetds.conf、odbc.ini 或 odbcinst.ini 有问题。我可以使用 tsql 连接到我的 mssql 2008 服务器,但仍
我在 Ubuntu Linux 上,想知道如何检测系统有什么 ODBC 驱动程序管理器(如果有的话)。 像 Rakib 的评论一样,我使用的一种非常粗略的方法是简单地尝试运行 isql (unixOD
我正在使用 Debian。我安装了 unixODBC 以及 FreeTDS。我正在使用 PHP 我已经阅读了几个操作方法,但遇到了一个问题。 我使用 tsql 测试了 FreeTDS,它工作正常。 我
我使用来自 brainman (http://code.google.com/p/odbc) 的 ODBC 驱动程序将 Golang 与 FreeTDS 结合使用 一切正常,直到我对盒子进行压力测试。
我是一名优秀的程序员,十分优秀!