安装了PDO但没有安装dblib

时间:2013-11-12 05:43:05

标签: php sql-server ubuntu

root@YYDream:/etc/apache2# dpkg -l |grep php5
ii  libapache2-mod-php5               5.3.10-1ubuntu3.8                   server-side, HTML-embedded scripting language (Apache 2 module)
ii  php5                              5.3.10-1ubuntu3.8                   server-side, HTML-embedded scripting language (metapackage)
ii  php5-cgi                          5.3.10-1ubuntu3.8                   server-side, HTML-embedded scripting language (CGI binary)
ii  php5-cli                          5.3.10-1ubuntu3.8                   command-line interpreter for the php5 scripting language
ii  php5-common                       5.3.10-1ubuntu3.8                   Common files for packages built from the php5 source
ii  php5-curl                         5.3.10-1ubuntu3.8                   CURL module for php5
ii  php5-dev                          5.3.10-1ubuntu3.8                   Files for PHP5 module development
ii  php5-gd                           5.3.10-1ubuntu3.8                   GD module for php5
ii  php5-mysql                        5.3.10-1ubuntu3.8                   MySQL module for php5
ii  php5-odbc                         5.3.10-1ubuntu3.8                   ODBC module for php5
ii  php5-sqlite                       5.3.10-1ubuntu3.8                   SQLite module for php5
ii  php5-sybase                       5.3.10-1ubuntu3.8                   Sybase / MS SQL Server module for php5

我在服务器上安装这些软件包。我的电脑上有相同的pachages。 但在我测试之后。我得到了以下信息。

PDO drivers dblib, mysql, odbc, sqlite # this info in phpinfo() on my pc

PDO drivers mysql #this info in phpinfo() on my server

好吧,我想我为这两台机器安装了相同的软件包。但为什么我在服务器上丢失了dblib?我错过了一些重要的套餐吗?

3 个答案:

答案 0 :(得分:5)

这适用于Ubuntu 12.04 LTS:

sudo apt-get install php5-odbc php5-sybase tdsodbc

php5-sybase将为您dblibtdsodbc将为您提供FreeTDSphp5-odbc将为您提供ODBC。这些可能需要其他软件包,因此只需在运行上述命令时接受apt建议的内容。

答案 1 :(得分:1)

检查是否安装了freetds-bin和/或freetds-bin:i386包。

答案 2 :(得分:0)

这在 Ubuntu 18.04 上对我有用。 https://zoomadmin.com/HowToInstall/UbuntuPackage/php7.2-pdo-dblib

如果您有多个 PHP 版本,您可以使用以下命令在终端中检查您当前的 PHP 版本:

php --ini

sudo apt-get update -y
sudo apt-get install -y php7.0-pdo-dblib
sudo apt-get install -y php7.2-pdo-dblib
sudo apt-get install -y php7.3-pdo-dblib

别忘了重启apache

sudo service apache2 restart

对于 sqlsrv 驱动程序,请阅读此文档: https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15

如果你使用的是 php5.6 那么你可以试试这个:

sudo apt-get install php5-sybase php5-odbc freetds-common

参考: https://www.php.net/manual/en/ref.pdo-dblib.php

注意:请确保 PHP 的 cli 版本和 PHP 的浏览器版本相同。