Heim > Backend-Entwicklung > PHP-Tutorial > yii - curl命令行请求并不慢,但php curl_exec很慢,怎么回事?

yii - curl命令行请求并不慢,但php curl_exec很慢,怎么回事?

WBOY
Freigeben: 2016-06-06 20:06:18
Original
1684 Leute haben es durchsucht

问题:如题。

<code class="text">curl "http://xxx.com.cn/api/open" --data "access_token=4CC7D18986B8987663E57F3CA0A87198&once=cSTvPM2h9lts&timestamp=1464951645705&sign=2da0302f6aa7b01a5cfa964d818109df&version=1.0&format=JSON&sign_type=MD5&attach=&method=open.jewelStatus.modify&data="%"7B"%"22orderId"%"22"%"3A"%"22413"%"22"%"2C"%"22status"%"22"%"3A100"%"2C"%"22operation"%"22"%"3A2"%"7D" --compressed
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed 
100   400    0   118  100   282     77    184  0:00:01  0:00:01   --:--:--   186{"attach":"","errmsg":"","result":"{}","sign":"0ec35efd5c6500baa566937950a9cb40","status":"1000","timestamp":"1465006446020"}</code>
Nach dem Login kopieren
Nach dem Login kopieren
<code>    $url = Yii::$app->params['erp_api']['url'];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // post数据
    curl_setopt($ch, CURLOPT_POST, 1);
    // post的变量
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    $output = curl_exec($ch);//**</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是,诡异的是,我用xdebug跟踪,其实是可以跑通的。。
有没有遇到这个问题的。求解,谢谢!

回复内容:

问题:如题。

<code class="text">curl "http://xxx.com.cn/api/open" --data "access_token=4CC7D18986B8987663E57F3CA0A87198&once=cSTvPM2h9lts&timestamp=1464951645705&sign=2da0302f6aa7b01a5cfa964d818109df&version=1.0&format=JSON&sign_type=MD5&attach=&method=open.jewelStatus.modify&data="%"7B"%"22orderId"%"22"%"3A"%"22413"%"22"%"2C"%"22status"%"22"%"3A100"%"2C"%"22operation"%"22"%"3A2"%"7D" --compressed
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed 
100   400    0   118  100   282     77    184  0:00:01  0:00:01   --:--:--   186{"attach":"","errmsg":"","result":"{}","sign":"0ec35efd5c6500baa566937950a9cb40","status":"1000","timestamp":"1465006446020"}</code>
Nach dem Login kopieren
Nach dem Login kopieren
<code>    $url = Yii::$app->params['erp_api']['url'];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // post数据
    curl_setopt($ch, CURLOPT_POST, 1);
    // post的变量
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    $output = curl_exec($ch);//**</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是,诡异的是,我用xdebug跟踪,其实是可以跑通的。。
有没有遇到这个问题的。求解,谢谢!

问题已找到。
原来是请求的url在php程序环境中是超时了。但xdebug或编辑器也许设了超时时间,所以能够跑通。

  1. 用curl一定要设置超时时间,不然不知道是不是curl超时。

  2. 诡异的问题其实是需要全面地检查来确定问题。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage