PHP MySQL使用命令不允许

时间:2013-03-24 02:35:45

标签: php mysql ubuntu joomla

我正在尝试在MySQL中使用LOAD DATA LOCAL INFILE命令,但我在PHP / Joomla中不断收到错误说明:此MySQL版本不允许使用该命令

我花了很长时间用谷歌搜索,但我见过的唯一建议是将local-infile = 1添加到我的my.cnf文件中(我已经在[client],[mysql]中完成了,和[mysqld])。

此外,如果我从命令行从我的Apache服务器连接到MySQL服务器(因此不使用PHP),我可以运行LOAD DATA LOCAL而不会出现问题(因此它不能作为权限)。

我还检查了php.ini,果然,mysqli.allow_local_infile设置为'On'。

我在这里遗漏了什么吗? 您是否必须在Joomla中做一些特别的工作才能使其正常工作?

2 个答案:

答案 0 :(得分:4)

我刚刚回答了一个类似的问题here,也许它有所帮助:

从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);

答案 1 :(得分:1)

我遇到了同样的问题,在我的情况下,Joomla用户缺少root权限;给J用户提供完全权限解决了它,然后我的组件用于分发,所以我改为使用标准.sql文件并手动解析/创建它们。希望这会有所帮助。