php istnieje kilka sposobów wykonania polecenia powłoki:Wykonanie program php - wyświetlacz i zwróci wyniku
- system()
- posredni()
- shell_exec()
- exec ()
Pierwsze dwa wyświetla dane wyjściowe, ale ich nie zwraca. Ostatnie dwa zwraca dane wyjściowe, ale ich nie wyświetla.
Chcę uruchomić polecenie powłoki, które wymaga dużo czasu, ale wyświetla niektóre wyniki, więc wiem, że nie zawiesić. Jednak na końcu chcę przetworzyć to wyjście w php. Jeśli wybiorę jedną z pierwszych dwóch, nie otrzymam danych wyjściowych, więc nie będę mógł ich przetworzyć w php. Jeśli uruchomię jedną z dwóch ostatnich, będę w stanie przetworzyć dane wyjściowe, ale mój program zawiesi się bardzo długo, bez wysyłania czegokolwiek.
Czy istnieje sposób uruchomienia polecenia powłoki, które natychmiast wyświetli wynik i zwróci go?
Czy drugi argument do systemu() call nie pomoże? – KTastrophy
Drugi argument to status powrotu wykonanej komendy, np. 0, jeśli wszystko było w porządku, a 1, jeśli wystąpił błąd. Powinienem wspomnieć, że też tego potrzebuję - shell_exec() to taki, który tego nie obsługuje. –
Nie sądzę, że istnieje jakieś polecenie PHP, które wykona kod powłoki i wydrukuje dane wyjściowe na ekranie przed zakończeniem wykonywania. – Travesty3