Ben php kodu kullanarak daha sonra ayrıştırmak bir dosyaya shell_exec() ve borular çağıran ben yazdım bir sarıcı sınıfı kullanarak bir üçüncü taraf komut dosyası koşuyorum. Ben bu çalışma olduğunu belirtmek gerekir, ama ben düşünmemiştim bir kullanım durumunda karşılaşılan olan, işlevselliğini artırmak için çalışıyorum.
Nasıl shell_exec üzerine zaman aşımı yönetmek () için en iyisidir? Ben bir try() catch() sararak düşünüyordum ama iyi zaman bileşeni işlemek için nasıl emin değilim.
I shell_exec() ve exec() ile ilgili burada bir kaç soru okuma oldum ve çıkış params'ı ileterek exec() Eğer bir getiri elde edebilirsiniz gibi görünüyor, ama Bu bir geri dönüş statüsü ile biten komut güvenmek yok. Artı benim mini testi sayfasında, ben herhangi bir çıktı geri almak gibi olamaz!
Ben çalışan komut ederken bir ajax tarzı spinner ile, kalıcı bir iletişim kutusu kullanılarak, ve javascript bir el aşımı batıyordu düşündüm başka bir seçenek. Sonra kullanıcıya bunun başarısız / zaman aşımı ve biten hakkında bir model diyalog mesajı verdi.
Bu kullanım durumunda herhangi bir kabul edilen bir yöntem var mı?
Benim mini testi, aşağıdaki oluşuyordu,
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
Using this question as ref, http://stackoverflow.com/questions/566248/cant-execute-php-script-using-php-exec