После ВСЕГО ДНЯ устранения неполадок я, наконец, смог ее решить.
Причина, безусловно, в устаревшей библиотеке pdo_mysql.so.Он находится в / usr / local / lib / php / extensions / (последняя директория) /pdo_mysql.so
Имя таблицы, возвращаемое в getColumnMeta, было добавлено только в определенной версии из-за запроса этой функции: https://bugs.php.net/41416/
Теперь проблема в том, что на некоторых веб-хостах PHP должен быть скомпилирован с Easy Apache.Мой должен был пройти через это также только для того, чтобы включить PDO (он был изначально отключен).Но проблема в том, что по какой-то причине Easy Apache загружает устаревший исходный код при каждом запуске.Запуск yum или установка любых RPM также не помогают.
Итак, вот что я сделал: - Я скачал последние версии PHP с PHP-сайта, извлек тарбол - я запустил Easy Apache, выполнил перекомпиляцию,и очень быстро пошел к консоли, чтобы посмотреть, как она перезагружает устаревшие исходники PHP - Когда источники PHP снова появились, я очень быстро заменил весь каталог ext / pdo_mysql на последние источники - Easy Apache сначала скомпилирует httpd, так что у вас есть времячтобы выполнить вышеуказанный шаг - после завершения сборки перезагрузите компьютер.- Чтобы проверить, поддерживает ли ваша версия pdo_mysql.so имя таблицы, выполните следующую команду: strings -f pdo_mysql.so |grep ': table' - там должна быть записьСтарая версия не делает.- Кстати, я заметил, что есть больше скопированных pdo_mysql.so в / usr / lib / php / modules и / usr / lib / php / extensions, но кажется, что в / usr / localэто активно.Тем не менее, я обновляю все копии вручную
ПРИМЕЧАНИЕ: если вы просто попытаетесь обновить файл pdo_mysql.so, он не будет работать.Вы получите ошибку сегментации, и страницы ничего не отобразят.Вам нужно перекомпилировать PHP, используя описанные выше шаги.
Я надеюсь, что это поможет другим людям, которые столкнутся с этой ошибкой.