回答
难道是我的服务器在执行fsocketopen命令时遇到问题吗?
确切地说 - 尽管这并不一定意味着服务器有问题。这只是意味着在服务器和recaptcha服务器之间的某处,存在网络通信问题,导致套接字连接无法打开。
这可能是很多事情。这可能是您的代码或服务器上的配置问题(特别是如果服务器上的某些配置方面是动态的),这可能是您的服务器具有的连接级别的问题,它可能是网络配置您的服务器托管在哪里,它可能是您的服务器和recaptcha服务器之间的任何地方的网络配置问题,它可能是托管的带宽问题,它可能是配置问题。您可能希望使用fsockopen
的额外错误报告参数来查看是否可以获取任何有意义的消息。您也可以尝试在完全不同的网络上的至少2-3台不同的服务器上进行设置 - 这也可以为您提供有关问题出现的某种特定指示。
然而,另一个问题是,你将如何管理这种事情。 fsockopen
有时无法获得连接,因为即使在最佳配置的网络环境中,也没有通信保证。硬件出现故障,意外发生,网络管理员们的手指瞬间变得模糊,远程服务器变得混乱,全球热核战争可能带走数据中心 - 你永远不知道。因此,您必须编写代码(并管理您的设置),以便在发生故障时获得回退情况,并显示最终用户可以接受的错误消息。
您可能需要查看PHP的set_error_handler
函数,并设置一个函数,以在出现fsockopen
失败的情况下调用。在某些情况下,我已经开始喜欢用它来触发例外,像这样的:
function throw_error_exception($number = 0, $str = '',$file = null,$line = null) {
throw new ErrorException($str, 0, $number, $file, $line);
}
set_error_handler('throw_error_exception',E_ALL);
使用这个配置,你可以管理fsockopen
连接是这样的:
try {
fsockopen('remote.host.com',8080,$fso_errnum,$fso_errstr,30);
} catch(Exception $e) {
// here you can look at properties/methods of $e, and $fso_* values, and
// figure out what nice error messages you want to display for your users
}
伟大的答案!感谢您花时间! – LightningWrist 2010-07-13 18:32:15
在try子句中,“fsocketopen”应该是“fsockopen” – edt 2012-06-13 17:42:25
- 1. 无法打开网络套接字
- 2. Node-Inspector无法打开套接字
- 3. 无法打开套接字C++
- 4. 无法在Selenium中打开网络套接字连接打开googleChrome浏览器
- 5. “无法打开套接字或拒绝连接”使用.NET
- 6. UDP套接字开始无法接收
- 7. 套接字不打开?
- 8. Zend框架无法打开SSL套接字(Abstract.php)
- 9. libevent无法读取一个打开的套接字描述符
- 10. Unitt websocket库无法在iOS上打开套接字
- 11. 无法在事件处理程序中打开套接字
- 12. 无法打开一个套接字组播
- 13. Python ldap3 LDAPSocketOpenError无法发送消息,套接字未打开
- 14. Apache WSASocket无法打开继承的套接字。 (LMHOSTS已禁用)
- 15. ReCaptcha - Joomla! “无法打开套接字”总是
- 16. Python:套接字连接仍然打开
- 17. C#套接字 - 如何保持套接字打开?
- 18. 套接字接受多个客户端,但我无法打开文件
- 19. Android应用程序无法打开套接字连接服务器
- 20. HTML链接无法打开
- 21. R无法打开连接
- 22. HttpURLConnection无法打开连接
- 23. 无法打开连接
- 24. GenericJDBCException:无法打开连接
- 25. 无法打开FTP连接
- 26. 无法打开连接2014
- 27. hibernate.exception.GenericJDBCException:无法打开连接
- 28. 无法断开连接并重新连接套接字(C++,winsock2)
- 29. 如何从SilverLight打开TCP套接字?
- 30. 从Firefox插件打开TCP套接字
你的问题是很含糊 - 你可以发布一些代码示例/告诉我们,如果你使用第三方服务,如recaptcha? – 2010-07-12 22:03:49
已编辑@基兰艾伦 – LightningWrist 2010-07-13 18:00:21