0
我已將所有API調用方法放入模型類中。他們基本的命令喜歡創造()閱讀()搜索()店()等PUT和POSTS AS Cron命令PHP Laravel 5
一開始我在一個控制器類所做的這些,現在我試圖從控制邏輯移動到命令,這樣我可以將腳本作爲每日cronjob運行。出於某種原因,他們不會作爲命令工作。這是因爲你不能使用PUT POST調用作爲cronjobs?由於它的接口像讀取功能一樣正常工作,但PUTS和POSTS不起作用。
如果是這樣,我不能使用PUT和POST在crons,有沒有辦法解決這個?
下面是一些示例代碼
public function handle()
{
$myModel = new MyModel;
$thing = array(
"title" => "My title",
"user_id" => 12345,
"org_id" => 54321,
);
$returned_id = $myModel->create($thing);
}
public function create($thing)
{
$api_token = "XXXX";
$url = "https://api.api-site.com/thing?api_token=" . $api_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $thing);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
//array from the data that is sent back from the API
$result = json_decode($output, 1);
// check if an id came back
if (!empty($result['data']['id'])) {
$deal_id = $result['data']['id'];
return $deal_id;
} else {
return false;
}
}
非常感謝您的回答。我有一個問題,但。如果你說的是正確的,我的GET請求不應該正常工作?但在我的cron中,這工作得很好。唯一不起作用的是我的PUT和POST請求。 –
您的GET將會工作,因爲GET是默認的HTTP請求方法,當您發出CLI請求時(通過cron),您的路由器將不會有任何http頭並跳轉到默認值,即您的GET。 – Auris