Проблема связи с phpGrid-Lite с MS-SQL-Server с PHP 7.3 - PullRequest
0 голосов
/ 30 января 2019

Кто-то использует phpGrib с PHP 7.3 и MS-SQL-Sever?Если да, у меня есть проблема, может быть, кто-то может спасти меня.У меня есть эта ошибка:

{Предупреждение: использование неопределенной константы ODBC_BINMODE_RETURN - предполагается, что 'ODBC_BINMODE_RETURN' (это приведет к ошибке в будущей версии PHP) в C: \ Apache24 \ localhost ***\ phpGrid_Lite \ server \ adodb5 \ adodb.inc.php в строке 4771

Предупреждение: использование неопределенной константы SQL_CUR_USE_DRIVER - предполагается, что SQL_CUR_USE_DRIVER (это приведет к ошибке в будущей версии PHP) в C: \Apache24 \ localhost *** \ phpGrid_Lite \ server \ adodb5 \ adodb.inc.php в строке 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');

У меня есть строка вместо ###, которая здесь только для данных маски. Также, когда я подключаюсь к базе данных с помощью PDO без phpGrid, у меня нет проблем, затем я пытался изменить

define('PHPGRID_DB_TYPE', 'odbc_mssql_native');

от

define('PHPGRID_DB_TYPE', 'sqlsrv');

тогда у меня появляется ошибка:

Предупреждение: mysqli_real_connect (): (HY000 / 2002): не может быть установлено соединение, потому чтоцелевая машина активно отказывалась.в C: \ Apache24 \ localhost *** \ phpGrid_Lite \ server \ adodb5 \ drivers \ adodb-mysqli.inc.php в строке 124 Ошибка: не удалось подключиться к базе данных

похоже, что это займетsqlsrv как mysql.

Затем я пытаюсь

define('PHPGRID_DB_TYPE', 'mssqlnative');

Поскольку на этот раз он работает с adodb и осторожен, у меня есть супер полезная ошибка:

Ошибка: можетне подключиться к базе данных

У кого-то есть идея или решение?У меня нет другой идеи, кроме как сделать всю DataGrid самостоятельно :(, но это будет намного дольше.

1 Ответ

0 голосов
/ 31 января 2019

Сначала убедитесь, что на вашем сервере установлены последние версии следующих драйверов:

Драйвер ODBC (v17) от Microsoft:

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

SQLSRV v5.50 для PHP 7.3.Это только предварительная (но официальная) версия 5.50:

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

Обратите внимание, что способ вызова расширений изменился в PHP7.3.Затем вам нужно включить оба .DLL в вашем php.ini с этими точными именами :

extension=pdo_sqlsrv_73_ts_x64
extension=sqlsrv_73_ts_x64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...