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