将带有附加参数的curl转换为PHP curl


Convert curl with additional parameters into PHP curl

试图将curl命令转换为构建Jenkins job,以便我可以在PHP中使用它。我是这样做的:

<?php
        $testrun_id = "1744";
        $cmd="curl -X POST http://build:f9280f220bfb4c596f83a0@mobile-jenkins.me.com:8080/job/android-job-git/build --data-urlencode json='{"parameter": [{"name":"POST_RESULTS", "value":"true"}, {"name":"RUN_ID", "value":"{$testrun_id}"}, {"name":"CHECK_NAME", "value":"SampleAutomatedPlan"}]}'";
        exec($cmd, $result);
?>

这里我传递3个参数给jenkins job,它们是POST_RESULTS,值为true, RUN_ID,值为var $testrun_id,值为1744, CHECK_NAME,值为SamplAutomatedPlan。当我在mac终端上运行这个curl命令时,它工作得非常好。

什么是缺失的东西或错误,给我Parse error: parse error on that $cmd="curl..." line当我尝试运行这个php脚本?

您需要通过添加反斜杠来转义双引号。

$cmd = "curl -X POST http://build:f9280f220bfb4c596f83a0@mobile-jenkins.me.com:8080/job/android-job-git/build --data-urlencode  json='{'"parameter'": [{'"name'":'"POST_RESULTS'", '"value'":'"true'"}, {'"name'":'"RUN_ID'", '"value'":'"{$testrun_id}'"}, {'"name'":'"CHECK_NAME'", '"value'":'"SampleAutomatedPlan'"}]}'";