如何修复:mysqli_query():禁止加载数据本地infile

时间:2019-04-29 14:34:37

标签: php mysql mysqli file-upload

尝试将csv文件上传到服务器时,数据库没有任何反应。错误日志文件显示警告,指出:禁止加载数据本地文件。

同一代码可以在Windows和localhost中的ubuntu上完美运行。但是,在服务器(ubunutu)上无法正常工作。我们在命令行上执行与php中相同的sql语句,它填充数据库中的数据,但是在phpmyadmin中执行它时,结果为空。 我们尝试了有关此问题的大多数Internet解决方案,但没有任何效果:我们将local-infile设置为true,将FILE授予用户,将权限设置为777,等等。

sql语句如下:

...
$sql = "LOAD DATA LOCAL INFILE 'path\to\file.csv' REPLACE INTO TABLE tablename FIELDS TERMINATED BY ';' ENCLOSED '\"' LINES TERMINATED BY '\\r\\n'";
$result = mysqli_query($con, $sql);

MySQL版本: 5.0.12

1 个答案:

答案 0 :(得分:0)

答案:

第一步:打开您的 php.ini 文件。

第二步:在 php.ini 中找到 [Mysqli] ,也可以只搜索它。

Step3:只需在 mysqli.allow_local_infile = On 下插入 [Mysqli] 并保存。

工作完成了!