【发布时间】:2010-08-04 17:07:04
【问题描述】:
我正在使用我编写的包装类运行第三方脚本,该类调用shell_exec() 并将管道导入我稍后使用php 代码解析的文件。我应该提到这是有效的,但我正在尝试增强功能,遇到了一个我没有想到的用例。
如何最好地管理 shell_exec() 的超时?我正在考虑将其包装在 try() catch() 中,但我不确定如何最好地处理时间组件。
我在这里阅读了一些与shell_exec() 和exec() 相关的问题,似乎通过将输出参数传递给exec() 您可以获得回报,但这确实取决于脚本以返回状态。另外,在我的迷你测试页面中,我似乎无法让它返回任何输出!
我想到的另一个选项是使用模态对话框,在脚本工作时使用 ajax 样式微调器,并在 javascript 中设置手动超时。然后给用户一个关于它失败/超时和结束的模型对话框消息。
此用例是否有任何可接受的方法?
我的小测试,包括以下内容,
public $e_return = array();
public $e_status = '';
// Paths are absolute from /
public function execCheck($domain){
exec($this->ssl_check_path." -s ".$domain." -p 443 > ".$this->folder.$this->filename." 2>&1 &", &$this->e_return, &$this->e_status);
}
// Returns
Array
(
)
0
使用这个问题作为参考, Can't execute PHP script using PHP exec
【问题讨论】:
标签: php shellexecute