使用Ubuntu Server 14.04 x64/PHP 5.5.9-1ubuntu4 (cli) w/FPM/MySQL InnoDB version 5.5.35
我已经创建了一个PHP脚本,从远程服务器下载文本文件,然后尝试导入它与LOAD DATA LOCAL INFILE '/path/to/file.txt' INTO TABLE test FIELDS以'n'结尾
我已经完成了修改php.ini文件的过程:[MySQL]
; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
; http://php.net/mysql.allow_local_infile
mysql.allow_local_infile = On
我已经修改了my.cnf ([mysql]和[mysqld]条目):
local-infile=1
local-infile
我已经从终端运行MySQL,然后发出:
SET GLOBAL local_infile = 'ON';
我已经手动启动和停止MySQL:
sudo /etc/init.d/mysql start --enable-local-infile
在这些命令之后,我可以运行SHOW GLOBAL VARIABLES LIKE 'local_infile';并且它总是显示值为ON。我没有任何问题,执行我的LOAD DATA命令从MySQL提示符,但如果我试图运行LOAD DATA存储在PHP文件错误:
这个MySQL版本不允许使用这个命令
从我所读到的,似乎有一些人建议用"——with-mysql=/usr"重新编译PHP,但这对我来说似乎是一个真正的大锤方法,也许我错了。我可以发出任何MySQL查询,除了从PHP文件。我做错了什么?
您必须在/etc/mysql/my.cnf文件中写入两次以下行
sudo gedit /etc/mysql/my.cnf
then under paragraph [mysql]和段落[mysqld]
添加以下行:
local-infile=1
然后保存文件
然后重启