我在我的网站上使用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 。
答案 0 :(得分:5)
根据microsoft的教程,步骤如下:
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
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服务器本身):
答案 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)