华域联盟 PHP 关于 php:\\”Load data local infile\\” 命令不允许

关于 php:\\”Load data local infile\\” 命令不允许

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

The used command is not allowed with this MySQL version

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

我尝试设置此选项:

1 mysqli_options ( $cnx , MYSQLI_OPT_LOCAL_INFILE , 1 ) ;

在我的加载数据调用之前,但仍然没有效果。

我该如何解决这个问题?



相关讨论

  • 您正在运行哪个 PHP 版本?


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

添加到你的 my.cnf:

1
2
3
4
5
[ mysql ]
local -infile = 1

[mysqld ]
local -infile = 1

从 PHP 连接时启用本地 infile

1
2
3
$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-infile=1",你可能还需要

1
2
3
4
5
[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"(无论其中包含什么值),该功能将被静默禁用!因此,如果您正在使用"加载数据本地 infile",则必须放弃 open_basedir(至少对于 PHP 5.4.4,如 Debian Wheezy 中所示)


本文由 华域联盟 原创撰写:华域联盟 » 关于 php:\\”Load data local infile\\” 命令不允许

转载请保留出处和原文链接:https://www.cnhackhy.com/158139.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部