【发布时间】:2013-04-04 18:32:52
【问题描述】:
我在 php 的 exec 命令中运行此命令时遇到问题:
更新的工作代码:
$results = exec('curl --dump-header - -H "Content-Type: application/json" -X PUT --data @data.json https://website.url --insecure', $output);
if ($results) {
echo "yay!";
var_dump($output);
echo $results;
} else {
var_dump($output);
echo "screw you";
}
最初脚本在 linux 中一起工作,但在 php exec 内部,内部单引号与 php 的 exec 引号冲突。上一个脚本:
curl --dump-header - -H "Content-Type: application/json" -X PUT --data '{"data": "foo", "data2": "bar"}' https://website.url
我想知道什么可以解决这个引号问题,我认为escapeshellarg() 可能会这样做但无济于事。
更新:
来自错误页面的错误
PHP 警告:escapeshellarg() 只需要 1 个参数,给定 0
【问题讨论】:
-
与您之前的命令相比,您的 json 数据周围似乎缺少空格。