Php 已安装PDO,但未安装dblib

Php 已安装PDO,但未安装dblib,php,sql-server,ubuntu,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

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

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

嗯,我想我为这两台机器安装了相同的软件包。但是为什么我会在服务器上丢失dblib呢?我是否错过了一些重要的软件包?

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

这是针对Ubuntu 12.04 LTS的:

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

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

php5-sybase
将为您提供
dblib
tdsodbc
将为您提供
FreeTDS
php5-odbc
将为您提供
odbc
。这些可能需要其他软件包,所以只要在运行上述命令时接受
apt
的建议即可。

这对我在Ubuntu 18.04上的工作很有效。

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

sudo apt-get install php5-odbc php5-sybase tdsodbc
别忘了重新启动apache

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
对于sqlsrv驱动程序,请阅读以下文档:

如果您使用的是php5.6,那么您可以尝试以下方法:

sudo service apache2 restart
参考文献:


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

我安装了php5 sybase,但没有dblib。我可以使用php5.5还是必须使用php5.3?@kamushin-我目前在Ubuntu 12.04上使用PHP-5.3.10。安装
php5 sybase
后是否重新启动了Web服务器
sudo服务apache2重新启动
,然后检查
phpinfo()
。您是否也安装了
php5 odbc
和'tdsodbc'?是的,我安装了它们,并重新启动了apache2。我还在Ubuntu12.04上使用PHP-5.3.10。但我仍然得到PDO驱动程序mysql当我删除odbc并重新启动apache2时,我仍然得到
PDO驱动程序mysql
sudo apt-get install php5-sybase php5-odbc freetds-common