Vous devez faire attention à la façon dont vous établissez votre connexion mysqli. Tout le mérite de cette solution revient à Jorge Albarenque, source
Pour le réparer, j'ai dû le faire :
- Ajoutez local-infile=1 aux sections [mysqld] et [mysql] de my.cnf (comme expliqué dans les commentaires ci-dessus).
- Utilisez la fonction mysqli_real_connect ( Documentation PHP ).
Le problème est qu'avec cette fonction, vous pouvez explicitement activer le support de LOAD DATA LOCAL INFILE. Par exemple (style procédural) :
$link = mysqli_init();
mysqli_options($link, MYSQLI_OPT_LOCAL_INFILE, true);
mysqli_real_connect($link, $host, $username, $password, $database);
ou orienté objet
$mysqli = mysqli_init();
$mysqli->options(MYSQLI_OPT_LOCAL_INFILE, true);
$mysqli->real_connect($host, $username, $password, $database);