+
95
-

php如何设置exec的超时时间?

php

请问php如何设置exec的超时时间?

网友回复

+
15
-

在PHP中设置exec函数的超时时间并不是直接由exec函数本身提供的功能。exec函数用于执行外部程序,它不管理进程执行的时间。如果你需要为外部命令设置超时时间,你可能需要结合使用其他PHP函数或特性来达到这个目的。以下是一些常见的方法:

方法 1: 使用 proc_open 和 stream_select

利用proc_open和stream_select可以设置超时。
$command = 'some_long_running_command'; // 替换为你的命令
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin
   1 => array("pipe", "w"),  // stdout
   2 => array("pipe", "w")   // stderr
);
$process = proc_open($command, $descriptorspec, $pipes);

if (is_resource($process)) {
    $timeout_seconds = 5; // 设置超时时间
    $start_time = time();

    do {
        $read = ar...

点击查看剩余70%

我知道答案,我要回答