28.08.2020 10:48
УКМ_эксплуатант_2
 
Примитивный скрипт: два запроса к бд, и вывод в хитрой табличке.
Отлаживался на виндовой машине (стендик с УКМ4 ) - все работало (да и работает).
Для "боевого" применения выделили сервер на CentOs-се.
С горем пополам добился, что PHP запущен. Базу создал. Библиотекой PDO даже зацепился успешно.
Но все падает на первом же запросе вот с такой ошибкой:
SQL код:
[Fri Aug 28 03:45:14.946682 2020] [:error] [pid 5236] [client 192.168.128.130:7595PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[08S01]: Communication link failure: 1156 Got packets out of order' in /var/www/html/get_spisok_zakazov.php:18\nStack trace:\n#0 /var/www/html/get_spisok_zakazov.php(18): PDO->exec('set names utf8')\n#1 {main}\n  thrown in /var/www/html/get_spisok_zakazov.php on line 18, referer: 
Что еще посмотреть можно???
28.08.2020 11:27
OlegON
 
В общем, какой-то ад у тебя :) Во-первых, зачем с PDO городить, когда есть mysqli?
Во-вторых, зачем set names utf8, когда это убогая кодировка и настраивать ее надо в конфиге базы?
Вот, для начала: https://olegon.ru/showthread.php?t=29452
Ну и в журнал базы бы посмотреть...
28.08.2020 11:54
УКМ_эксплуатант_2
 
В общем - заработало.
Бяка была в том, что "боевой" MySQL версии выше, чем в УКМ4
Отсюда и "проблема" с UTF8&utf8mb4. Обошел "неправильным" способом - в my.cfg прописал utf8
Вторая проблема, в том, что по умолчанию изменился способ авторизации MySQL.
Добавил в my.cfg в секцию mysqld
Код:
default-authentication-plugin=mysql_native_password
ребутнул mysql - стало щастье.
А увидел все после подключения вывода ошибок на экран в php-файле:
Код:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
Выдало вот такое:
Код:
Warning: PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in /var/www/html/connection.php on line 19
Подключение не удалось: SQLSTATE[HY000] [2054] The server requested authentication method umknown to the client
благодаря чему и было найдено решение...
З.Ы. PDO, как писали "самая продвинутая библиотека для работы с БД из PHP". Ну и освоил ее и пихаю во все свои проектики. Надо почитать болдее новую информацию...
UTF8 - да исторически так сложилось. Тем более в этом проекте только даты и цифры. "Букафф" нет...
Да и переделывать неохота.
На новые проекты - учту...
Часовой пояс GMT +3, время: 15:07.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.