繁体   English   中英

PHP的:禁止加载数据本地文件

[英]PHP : LOAD DATA LOCAL INFILE forbidden

通过php执行LOAD DATA LOCAL INFILE时出现问题。

PDOStatement::execute(): LOAD DATA LOCAL INFILE forbidden in /blablabla

查询直接与mysql一起使用,但不适用于php。

我从mysql检查了我的local_infile,没关系:

SHOW GLOBAL VARIABLES LIKE 'local_infile'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.00 sec)

还有其他一些问题,但我不能修改源代码(因此php代码中的PDO配置): 禁止在LOAD DATA LOCAL INFILE中使用... PHP

编辑:我发现在我的情况下如何配置pdo,我在PDO中添加了PDO :: MYSQL_ATTR_LOCAL_INFILE => true选项。

我还有另一个错误:

[13:10:16] SQLSTATE[42000]: Syntax error or access violation: 1148 The used command is not allowed with this MySQL version, query was: LOAD DATA LOCAL INFILE '/tmp/export_cat_28.csv' REPLACE INTO TABLE tmp_pimgento_entities_category FIELDS TERMINATED BY ';' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\\n' IGNORE 1 LINES;

查询仍然可以直接与mysql一起使用。

有任何想法吗 ? 谢谢。

$pdo = new PDO(
    'mysql:host=hostname;dbname=ssldb',
    'username',
    'password',
    [PDO::MYSQL_ATTR_LOCAL_INFILE => true]
);

暂无
暂无

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

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