загрузка данных не разрешена: MariaDB

Я создал скрипт PHP, который импортирует сообщения из CSV-файла на веб-сайт WordPress.

Для этого я сначала импортирую сообщения в таблицу базы данных веб-сайта WP, а затем сценарий PHP создает сообщения.
Я использую массовый запрос MYSQL:

load data local infile '/var/www/vhosts/sitenamehere.test/test.csv' into table test_table character set latin1 fields terminated by ';' lines terminated by '\r\n' ignore 1 lines;

Когда я запускаю скрипт с сервера, я получаю следующую ошибку:

«используемая команда не разрешена в этой версии MariaDB для запроса загрузки данных локального файла …»

Проблема возникает только тогда, когда я выполняю скрипт с сервера, фактически, если я запускаю тот же запрос из phpMyAdmin, он позволяет мне импортировать файл.

Поскольку мои сценарии не только импортируют, но и обновляют сообщения, целью было создать задание cron, чтобы сценарий выполнялся несколько раз в день. Очевидно, что это невозможно, если я продолжаю получать ту же ошибку.

Я попытался добавить:

  • линия local-infile=1 под разделом [client] а также [mysqld] из my.cnf
  • линия mysql.allow_local_infile=On под [mysql] раздел
    my.cnf
  • линия mysql.allow_local_infile=On под [MySQLi] раздел php.ini расположен в /opt/plesk/php/7.1/etc

Но ничего не помогло. Есть идеи?

0

Решение

Гид в
https://mariadb.com/kb/en/library/load-data-infile/
говорит

Если системная переменная local_infile установлена ​​в 0, попытки выполнить LOAD DATA LOCAL завершатся неудачно с сообщением об ошибке.

Лучше всего изменить используемый файл my.ini.

Кроме того, пользователю используемой базы данных нужна привилегия FILE.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector