Mssql_connect php7.1与ubuntu

时间:2017-10-27 04:05:10

标签: php linux ubuntu sqlsrv

我在我的网站上使用Windows 10和sql server(我使用codeigniter),在Windows中这是我的设置

$db['default'] = array(
    'dsn'   => '',
    'hostname' => '----',
    'username' => '--',
    'password' => '-----',
    'database' => '-----',
    'dbdriver' => 'sqlsrv',
    'dbprefix' => '',
    'pconnect' => FALSE,
    'db_debug' => (ENVIRONMENT !== 'production'),
    'cache_on' => FALSE,
    'cachedir' => '',
    'char_set' => 'utf8',
    'dbcollat' => 'utf8_general_ci',
    'swap_pre' => '',
    'encrypt' => FALSE,
    'compress' => FALSE,
    'stricton' => FALSE,
    'failover' => array(),
    'save_queries' => TRUE
);

但是现在,我想将我的网站从本地上传到我的服务器。我的服务器使用ubuntu

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty

当我上传我的codeigniter时,我收到此错误

Message: Call to undefined function sqlsrv_connect()

我的php版

PHP Version 7.1.10-1+ubuntu14.04.1+deb.sury.org+1

我该如何解决?谢谢你的补充。 我使用的是ubuntu而不是Windows

3 个答案:

答案 0 :(得分:5)

根据microsoft的教程,步骤如下:

1。安装ODBC驱动程序

curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-tools.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install mssql-tools
sudo apt-get install unixodbc-dev
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc

2。获得PHP Sql Server扩展

sudo pecl install sqlsrv pdo_sqlsrv
sudo echo "extension= pdo_sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
sudo echo "extension= sqlsrv.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

这是完整的教程(包括安装db服务器本身):

tutorial

答案 1 :(得分:1)

我认为' SQLSRV'将DLL合并到Windows版本的PHP中。

如果要在Linux上连接到SQL Server,请安装UnixODBC和FreeTDS并与PDO连接。实际上,我正在使用Code Igniter和SQL Server。

答案 2 :(得分:1)

您要做的是确保您拥有适用于PHP的SQL Server驱动程序。 Microsoft在github上提供了一个驱动程序:

Microsoft PHP Drivers for SQL Server

我相信他们有关于为Ubuntu 16.04构建的说明。我注意到你提到你有Ubuntu 14.04.4 - 我自己没有尝试过但它可能会有效。

几年前我使用ubuntu 14.04取得了成功,使用了本网站上的说明:RobsPHP但这是针对PHP 5.6的

您研究中另一个可能有用的链接:SQLSrv installation (php.net)