我正在更新一个应用程序以停止使用'mssql_connect'来使用PDO和ODBC for PHP 7 .

在本地,我在Windows 8上使用XAMPP,我的应用程序运行正常 . 但是,当我将其上传到Ubuntu服务器(Locaweb托管,在巴西)时,它返回以下错误:

PDOException:SQLSTATE [IM002] SQLDriverConnect:0 [unixODBC] [Driver Manager]找不到数据源名称,并且/public_html/user/log-connections/connection.php:28中没有指定默认驱动程序堆栈跟踪:#0 / public_html /user/log-connections/connection.php(28):PDO - > __ construct('odbc:Driver = {SQ ...')#1 /public_html/user/log-connections/login.php(2):require_once ('/ public_html / user ...')#2

导致错误的行(connection.php:28)是这样的:

$ pdo = new PDO(“odbc:Driver = ; Server = {$ servername}; Database = {$ dbname};”,$ username,$ password);

我已经尝试过使用其他驱动程序名称,例如“SQL Server Native Client”,“FreeTDS”等 . 但是所有驱动程序名称都返回相同的错误 . 另一件事是SQL Server不在同一台服务器上 .

我在研究中发现的解决方案告诉我更改odbc.ini文件和其他文件 . 但是,我无法访问服务器上的那些文件 . 此外,在我的本地,我没有改变这些文件,只是扩展模块以激活PHP上的PDO和ODBC .

此外,我已经检查了phpInfo,PDO和ODBC启用了“PDO Driver for ODBC(unixODBC)” .

有人遇到过这种问题吗?