У меня есть команда LOAD DATA, которая отлично работает в терминале MySQL. Он отлично работает в тестовом файле PHP, который подается с моего локального сервера. Он отлично работает в phpMyAdmin на том же сервере. Он необъяснимо ломается при запуске из Magento, также на том же сервере.
Я подтвердил, что все методы используют одинаковые учетные данные для входа. Если я скопирую неудачную команду (включая все предыдущие запросы от соединения и далее) из журнала запросов и вставлю в любой другой метод, она снова будет работать таинственным образом. Сам запрос не может быть ошибочным.
Поэтому я считаю, что проблема должна быть разрешением. Файловая привилегия установлена и работает для других реализаций на той же учетной записи. Magento использует pdo_mysql в качестве соединения. Если я дублирую это в тестовом файле, это работает. Magento должен устанавливать какой-то параметр, который мешает.
Я получаю ошибку SQLSTATE[42000]: Syntax error or access violation: 1148 The used command is not allowed with this MySQL version
. Я должен использовать ключевое слово модификатора "LOCAL", потому что не могу гарантировать, что сервер базы данных будет доступен.
Ближайший предыдущий вопрос здесь о SO касается drupal , ошибка другая, но я помню, что drupal также использует pdo_mysql для подключения, возможно, это связано. Единственное упоминание об этой ошибке в Magento - это поток , который также завершается ошибкой при выполнении команды LOAD DATA LOCAL INFILE.