phpGrid-Lite 与 MS-SQL-Server 与 PHP 7.3 的连接问题

Connexion problem with phpGrid-Lite with MS-SQL-Server with PHP 7.3

有人在 PHP 7.3 和 MS-SQL-Sever 上使用 phpGrib 吗? 如果是,我有问题,也许有人可以救我。 我有这个错误:

{ Warning: Use of undefined constant ODBC_BINMODE_RETURN - assumed 'ODBC_BINMODE_RETURN' (this will throw an Error in a future version of PHP) in C:\Apache24\localhost***\phpGrid_Lite\server\adodb5\adodb.inc.php on line 4771

Warning: Use of undefined constant SQL_CUR_USE_DRIVER - assumed 'SQL_CUR_USE_DRIVER' (this will throw an Error in a future version of PHP) in C:\Apache24\localhost***\phpGrid_Lite\server\adodb5\adodb.inc.php on line 4771 }

我已经看过这个页面https://phpgrid.uservoice.com/knowledgebase/articles/314967-undefined-constant-odbc-binmode-return-and-sql-cur,但它没用,因为我已经有了 PHP7.3 和 MS-SQL-Server 的驱动程序,因为我使用 PDO 连接到数据库,我卸载,重新安装驱动程序,它没有任何改变(当然我重置了 Apache)

这里是我按照 phpGrid 推荐的代码:

define('PHPGRID_DB_HOSTNAME','localhost'); // database host name
define('PHPGRID_DB_USERNAME', '###');     // database user name
define('PHPGRID_DB_PASSWORD', '###'); // database password
define('PHPGRID_DB_NAME', '###'); // database name
define('PHPGRID_DB_TYPE', 'odbc_mssql_native');  // database type
define('PHPGRID_DB_CHARSET','utf8');

我有字符串而不是###,它只是用于掩码数据 另外,当我在没有 phpGrid 的情况下通过 PDO 连接到数据库时我没有问题,然后我尝试更改

define('PHPGRID_DB_TYPE', 'odbc_mssql_native');

define('PHPGRID_DB_TYPE', 'sqlsrv');

然后我有错误:

Warning: mysqli_real_connect(): (HY000/2002): No connection could be made because the target machine actively refused it. in C:\Apache24\localhost***\phpGrid_Lite\server\adodb5\drivers\adodb-mysqli.inc.php on line 124 Error: Could not connect to the database

看起来像 mysql.

这样的 sqlsrv

那我试试

define('PHPGRID_DB_TYPE', 'mssqlnative');

因为它正在与 adodb 一起工作并且这次很谨慎,所以我遇到了超级有用的错误:

Error: Could not connect to the database

有人有想法或解决方案吗?我没有其他想法,除了必须自己完成所有 DataGrid :( 但会更长。

首先,您应该检查您的服务器上是否安装了以下驱动程序的最新版本:

Microsoft 的 ODBC 驱动程序 (v17):

https://www.microsoft.com/en-us/download/details.aspx?id=56567

用于 PHP 7.3 的 SQLSRV v5.50。这只是一个预览(但正式)5.50 版本:

https://github.com/Microsoft/msphpsql/releases/tag/v5.5.0-preview

请注意,调用扩展的方式在 PHP7.3 中发生了变化。 然后,您必须使用这些 精确名称 php.ini 中启用两个 .DLL:

extension=pdo_sqlsrv_73_ts_x64
extension=sqlsrv_73_ts_x64