Php &引用;“加载数据本地填充”;不允许使用命令

Php &引用;“加载数据本地填充”;不允许使用命令,php,mysqli,Php,Mysqli,我正在使用PHP mysqli库。每次我尝试运行LOAD DATA LOCAL infle命令时,mysqli都会抱怨消息 此MySQL版本不允许使用used命令 从MySQL终端(必须使用--local infle=1登录才能工作)或PHPMyAdmin运行命令时,我没有同样的问题。只有我的PHP+mysqli代码遇到了这个错误 我尝试设置此选项: mysqli_options($cnx, MYSQLI_OPT_LOCAL_INFILE, 1); 在加载数据调用之前,但仍然无效 如何纠正此问

我正在使用PHP mysqli库。每次我尝试运行
LOAD DATA LOCAL infle
命令时,mysqli都会抱怨消息

此MySQL版本不允许使用used命令

从MySQL终端(必须使用--local infle=1登录才能工作)或PHPMyAdmin运行命令时,我没有同样的问题。只有我的PHP+mysqli代码遇到了这个错误

我尝试设置此选项:

mysqli_options($cnx, MYSQLI_OPT_LOCAL_INFILE, 1);
在加载数据调用之前,但仍然无效


如何纠正此问题?

有几件事可能是错误的。请尝试以下操作:

添加到您的my.cnf:

[mysql]
local-infile=1

[mysqld]
local-infile=1
从PHP连接时启用本地加密

$conn = mysqli_init();
mysqli_options($conn, MYSQLI_OPT_LOCAL_INFILE, true);
mysqli_real_connect($conn,server,user,code,database);
除了mysql配置文件(/etc/mysql/my.cnf)中提到的“local infle=1”,您可能还需要

[MySQLi]
mysqli.allow_local_infile = On

[MySQL]
mysql.allow_local_infile = On
在您的系统php.ini中(/etc/php5/cgi/php.ini或类似的-本地php.ini不起作用)


还有一件大事——如果您在php.ini中使用“open_basedir”(无论其中包含什么值),那么该功能将被静默禁用!因此,如果您使用的是“加载数据本地填充”(至少对于PHP5.4.4,如Debian Wheezy中所述),那么您必须放弃使用open_basedir。

您正在运行哪个PHP版本?