Я знаю, что об этом уже спрашивали, но я не смог найти новые посты, которые могли бы помочь. LOAD DATA LOCAL INFILE прекрасно работал до сегодняшнего дня. Я не изменил ничего, кроме запуска обновления для PHP и (не уверен, но я думаю) MariaDB. Я бегу сейчас PHP 7.2.17 и MariaDB 10.1.38
Теперь я получаю эту ошибку:
Предупреждение: mysqli :: query (): ЗАГРУЗИТЬ ДАННЫЙ ЛОКАЛЬНЫЙ ИНФИЛЬ запрещен
Я проверил, что смог найти:
- Пользователь БД имеет все права, даже пользователь root получает эту ошибку
- проверил my.cnf для записи local-infile = 1
Оператор Load отлично работает в командной строке mysql, но не в скрипте PHP.
Вот как я запускаю импорт:
define ('DB_USER', "db_user");
define ('DB_PASSWORD', "my_password");
define ('DB_DATABASE', "prosjekt");
define ('DB_HOST', "localhost");
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
Я получаю сообщение об ошибке в последней строке -> $ mysqli-> query ($ query);
$query = <<<eof
LOAD DATA LOCAL INFILE '$fileName'
INTO TABLE prosjekt
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r'
(prosjektnavn,prosjektstatus,prosjektbesk,oppdragsgiver,prosjektans,prosjektdelt,start,slutt,prosjektnr,prosjekttype,sortnr,ant_rapport,litt_link)
eof;
$mysqli->query($query);
Так что я могу запустить это нормально в консоли mysql, но не в скрипте PHP, и сегодня он начинает давать сбой. Есть идеи как это исправить?
Когда я запускаю SHOW VARIABLES; Я получаю это, чтобы оно работало?
local_infile ON