我试图检测 cURL 请求何时超时。如果这有区别,我正在使用 curl_multi_exec 吗?
curl_errno() 的输出为 0,这表明它是成功的。但是 curl_error() 的输出是:
操作在 1435 毫秒后超时,收到 -1 个字节中的 0 个
任何想法为什么错误代码是好的,但错误消息存在?我希望超时的错误代码为 28。
另外,有什么我可以在 curl_getinfo() 中检查超时的吗?
我使用的是 PHP 5.4.4/cURL 7.24.0。
编辑 1 - 示例代码:
$mh = curl_multi_init();
curl_multi_add_handle($mh,$a);
curl_multi_add_handle($mh,$b);
curl_multi_add_handle($mh,...);
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) == -1) usleep(100);
do { $mrc = curl_multi_exec($mh, $active); }
while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下方法获取电子邮件正文的特定部分:
$message = imap_fetchbody ($imap_stream,$n,1);
Run Code Online (Sandbox Code Playgroud)
这适用于使用Outlook,Hotmail,Yahoo等发送的电子邮件.但是当我尝试获取从Blackberry或Andriod设备发送的电子邮件的正文时,邮件被编码和加扰,例如:
xmb250IHN0eWxlPSdjb2xvcjojRjk3MWIxMDNiMTEyYjExOGI0N2I1MWI1
Run Code Online (Sandbox Code Playgroud)
虽然正文是编码的,但标题很好.如何解码从Android或Blackberry设备发送的电子邮件的邮件正文?
谢谢,
克里斯.
我正在使用FFMpeg来隐藏视频,它在命令行中工作正常.我使用以下命令:
ffmpeg -i input.mpg -vcodec libx264 -b 819200 -s 100x100 -g 15 -bf 3 -b_strategy 1 -coder 1 -qmin 10 -qmax 51 -sc_threshold 40 -flags +loop -cmp +chroma -me_range 16 -me_method hex -subq 5 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -directpred 1 -flags2 +fastpskip -dts_delta_threshold 1 -acodec libfaac -ab 48000 output.m4v
Run Code Online (Sandbox Code Playgroud)
但是,当我使用PHP exec()运行命令时,输出视频未正确编码并被扭曲和裁剪.我在PHP中使用以下内容:
$output = exec($cmd . ' 2>&1', $output, $return);
Run Code Online (Sandbox Code Playgroud)
$ output返回'0'成功代码.
有没有人有什么建议?
谢谢.
我试图在命令行上运行一些PHP页面但是遇到了一些mysql和其他PHP扩展的问题.
运行php --ini产生以下输出:
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Run Code Online (Sandbox Code Playgroud)
当我在命令行上运行php时,它无法找到我的php.ini文件.这是因为路径不正确.我的php.ini实际上位于/etc/php.ini我的phpinfo();文件中.PHP在浏览器中运行良好.
如何更改命令行PHP的php.ini文件的路径?
我正在运行Apache2(CentOS-5.5)和PHP 5.2.6.
我正在尝试使用html5视频标记在IE9中播放.m4v视频.当我从远程位置播放视频时,它工作正常:
<video src="http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v" controls="controls">
</video>
Run Code Online (Sandbox Code Playgroud)
但是当我想从我的服务器上播放时......
<video src="Big_Buck_Bunny_Trailer_480x270_h264aac.m4v" controls="controls">
</video>
Run Code Online (Sandbox Code Playgroud)
...它仅适用于Chrome,而不适用于IE9.
当我的服务器上有什么可能导致视频无法播放?
非常感谢,
克里斯
问题
我想friends_location从Facebok Graph API中获取.我正在使用HybridAuth框架访问API .我如何返回朋友的位置/家乡等?
我的应用权限
我为我的应用设置了以下权限:
friends_about_me,friends_location,friends_hometown,user_location,email,user_birthday,offline_access,user_hometown
这是用户在Facebook上看到的权限请求屏幕:

我曾经尝试过什么
我尝试了以下方法来获取朋友的详细信息:
HybridAuth: $hybrid->getUserContacts();
和
原生API: $hybrid->api()->api('/me/friends');
两者都返回以下格式而没有朋友的位置:
{"identifier": "12345678","displayName": "Joe Smith",},
我也看到了这个问题,但我已经friends_about_me在我的请求中包含了许可.
php ×5
command-line ×2
android ×1
curl ×1
exec ×1
facebook ×1
ffmpeg ×1
html5-video ×1
imap ×1