我正在更新一个应用程序以停止使用'mssql_connect'将PDO与ODBC用于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 {main}
导致错误的行(connection.php:28)是这一行:
$ pdo = new PDO(“odbc:Driver = {SQL Server}; 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)”。
任何人都遇到过这种问题吗?