Erreur mariadb : load data local infile

WRInaute passionné
Salut à tous,

J'ai le script php ci-dessous :
mysql_query("LOAD DATA LOCAL INFILE 'mon_fichier.csv' INTO TABLE `ma_table` FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES") or die (mysql_error());
Sur mon ancien serveur (Release 3 de chez OVH) ce script php fonctionne parfaitement bien mais il ne fonctionne pas avec mon nouveau serveur (Centos 7 - Plesk Onyx), j'ai cette erreur qui s'affiche :
the used command is not allowed with this MariaDB version for the query load data local infile
J'ai bien mis local-infile=1 dans le fichier de config mysql my.cnf

Avez-vous une idée pour solutionner ce problème ?

D'avance merci pour vos réponses.

Bruno
 
WRInaute passionné
En utilisant "LOAD DATA INFILE" au lieu de "LOAD DATA LOCAL INFILE" je peux importer mon fichier csv dans ma table mysql à condition que ce fichier csv se trouve dans mon répertoire /var/lib/ma_base_MySql/

Mais je ne peux pas créer de fichier csv dans le répertoire /var/lib/ma_base_MySql/ depuis un script php qui se trouve dans /var/www/vhosts/mon-site.com/httpdocs/ ...ça ne marche pas !

Comment faire ?
 
WRInaute passionné
Je voulais parler précédemment du répertoire /var/lib/mysql/ma_base_MySql/ et non pas de /var/lib/ma_base_MySql/
 
WRInaute accro
Bonjour poupilou

De deux chose l'une :

1) Tu écris chemin entier du fichier csv,

2) Si fichier non accessible, se loguer en root et 1) le chemin entier ou positionnement sur le répertoire Var/lib/ma_base_MySql/

Amicalement.
 
WRInaute passionné
Merci pour ta réponse.

La solution consiste à ajouter le répertoire /var/lib/ma_base_MySql/ dans la variable "open_basedir" dans le fichier php.ini et d'utiliser "LOAD DATA INFILE" et ça fonctionne :)
 
Discussions similaires
Haut