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