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
有人在 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