例:
$PHP myscript.PHP > logfile.txt 2>&1
所有PHP输出都将进入日志文件,但curl的输出仍然会出现在屏幕上.
如何使用curl输出捕获PHP输出?
$ch = curl_init(); // Initialising cURL curl_setopt($ch,CURLOPT_VERBOSE,TRUE); curl_setopt($ch,CURLOPT_USERAGENT,$this->agentString); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); $data = curl_exec($ch); curl_close($ch);
编辑:
添加线
curl_setopt($ch,CURLOPT_STDERR,STDOUT);
似乎可以做到这一点.但是,现在看来curl输出与PHP的输出冲突,并用自己的输出覆盖日志文件.奇怪的!
编辑2:
这有效
$PHP myscript.PHP >> logfile.txt 2>&1解决方法 实际上,我的第一个答案是错误的. cURL的手册页说:
URLOPT_VERBOSE TRUE to output verbose @R_403_4329@ion. Writes output to
STDERR,or the file specifIEd using CURLOPT_STDERR.
因此,为CURLOPT_STDERR指定STDOUT将起作用:
curl_setopt($ch,true);curl_setopt($ch,STDOUT);
原始答案:
检查您是否也设置了CURLOPT_RETURNTRANSFER.
总结以上是内存溢出为你收集整理的(Linux CLI PHP)在执行期间捕获CURL的详细输出到文件全部内容,希望文章能够帮你解决(Linux CLI PHP)在执行期间捕获CURL的详细输出到文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)