mysql 5.5 my.cnf关闭 local-infile_LOAD DATA LOCAL INFILE在使用PDO的php 5.5中不起作用

新服務器:PHP 5.5.3-1ubuntu2(CLI) 舊服務器:PHP 5.3.10(CLI)

在數據庫服務器上,my.cnf中設置爲允許本地INFILE。 我可以使用負載數據從本地INFILE:

- HeidiSQL

- The command line client running on the new web server using --local-infile=1

- PHP, using PDO, from the old web server

然而,當我嘗試從全新的Web服務器連接,使用PHP與PDO,我得到: 出現數據庫問題:SQLSTATE [42000]:語法錯誤或訪問衝突:1148所使用的命令是不允許使用此版本的MySQL

的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

PDO構造:

$this->db_conn = new PDO("mysql:host=$host;dbname=$dbname;port=$port", $user, $pass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1));

我也在PHP腳本中嘗試了ini_set('mysql.allow_local_infile',1)和ini_set('mysql.allow_local_infile',true)。

LOCAL關鍵字是必需的,因爲文件託管在Web服務器上,而不是數據庫服務器上。

PHP 5.5對我有什麼要求?

+0

和你的MySQL版本? –

+1

這可能是一個權限問題?就我所知,PDO在這方面沒有做任何特別的事情。 –

+0

MySQL Database: mysql Ver 14.14 Distrib 5.1.69,用於使用readline 5.1的redhat-linux-gnu(x86_64)。 託管在CentOS 5. 我在所有測試中使用相同的用戶名和密碼,所以它不應該是MySQL權限問題。 PHP腳本由root執行。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值