繁体   English   中英

PHP MySQL使用的命令不允许

[英]PHP MySQL used command not allowed

我正在尝试在MySQL中使用LOAD DATA LOCAL INFILE命令,但在PHP / Joomla中仍然出现错误,指出:此MySQL版本不允许使用的命令

我花了很多时间在Google上搜索,但我看到的唯一建议是在my.cnf文件中添加local-infile = 1(我已经在[client],[mysql]和[的mysqld])。

另外,如果我从命令行从Apache服务器连接到MySQL服务器(因此不使用PHP),则可以毫无问题地运行LOAD DATA LOCAL(因此它不是权限)。

我还检查了php.ini,并且确实将mysqli.allow_local_infile设置为“ On”。

我在这里想念什么吗? 您是否需要在Joomla中做一些特殊的事情才能使其正常工作?

我在这里回答了类似的问题,也许可以帮上忙:

从MySQL 5.0升级到5.5之后,我发现我突然不得不在使用PHP创建连接时专门启用LOCAL INFILE。

使用mysql:

mysql_connect(server,user,code,false,128); // 128 enables LOCAL INFILE
mysql_select_db(database);

使用mysqli:

$conn = mysqli_init();
mysqli_options($conn, MYSQLI_OPT_LOCAL_INFILE, true);
mysqli_real_connect($conn,server,user,code,database);

我遇到了同样的问题,我的情况是Joomla用户缺少root拥有的特权; 向J用户授予完全特权可以解决该问题,但是我的组件用于分发,因此我改为使用标准.sql文件并手动解析/创建它们。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM