php – 我可以让一段代码超时吗?
我正在使用一个与服务器建立远程连接的类.我遇到的一个问题是,如果连接没有得到响应,它会等到它发生.
这个类没有内置的超时,如果我可以避免它,我不想修改它. 有什么方法可以用这样的东西包装一段代码吗? try(timeout seconds){ }catch(){ //exception handle }timeout(){ // timeout handline } 编辑:我使用远程连接作为一个问题.我还有其他我需要解决的问题,比如用exec或其他类似的东西进行系统调用. 解决方法
不仅仅是代码的一部分.
但是,根据要求,有一些替代解决方案,无需修改原始代码: 参数或者set_time_limit 如果运行时间太长, pcntl_alarm
默认超时 如果类正在使用流函数,则可以设置默认超时: ini_set('default_socket_timeout',5); stream_context_set_default(array( 'http' => array( 'timeout' => 5,),)); 在单独的过程中执行 您可以使用 您还可以使用 或者设置服务器来处理这些任务. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |