我在 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