我的PHP腳本中一定有一個錯誤,但它在我們返回的文本中顯示'OK'。爲什麼它會出現在錯誤通道中,而不是放入可以使用它的變量中? 這是我的代碼:cUrl的輸出
<?php
$url = 'https://rest.tsheets.com/api/v1/jobcodes';
$api_token ="********";
$headers = array();
$headers[] = "Authorization: Bearer {$api_token}";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
$o = curl_exec($ch);
echo "Error:" . curl_error($ch);
echo "This is output: " . var_dump($o);
?>
輸出看起來是這樣的:在返回
Error:string(23256) "HTTP/1.1 200 OK
Date: Fri, 22 Jul 2016 15:18:14 GMT
Server: Apache
Cache-Control: no-cache, must-revalidate
Expires: 0
Transfer-Encoding: chunked
Content-Type: application/json
{
"results": {
"jobcodes": {
"493387": {
"id": 493387,
"parent_id": 0,
"assigned_to_all": false,
"billable": false,
"acti
.
.
.
"more": true
}"
This is output:
所以沒有什麼投入變量,即使returntransfer設置。我無法確定是否真的有錯誤,或者它是否是導致它的PHP.ini設置。它返回OK的事實表明腳本沒問題。該腳本在Web服務器上託管時運行,但現在從Windows中的PC運行,並且cUrl沒有返回數據。任何人都可以提醒我需要解決什麼問題嗎?
如果您塞雷爾語是不是SSL,請嘗試使用 curl_setopt($ CH,CURLOPT_SSL_VERIFYHOST,0); curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,0); –
我可以看到一切正常。試試這個$ json = json_decode($ o,true);的print_r($ JSON); –