В основном, моя ситуация выглядит следующим образом.PHP работает с внешней программой, Apache висит
- Загрузить файл внешний процесс
- Выполнить на файл (который генерирует другой файл)
- Когда внешний процесс вниз, процесс, созданный файл.
В настоящее время в PHP я запустить программу следующим образом:
$cmd = 'cd the_directory/; ./the_program'
system($cmd);
Программа прекрасно работает и все, но программа в конце говорит «Нажмите Enter для выхода ...» И, таким образом, Apache висит бесконечно, поскольку эта программа ждет ввода пользователя. Наш партнер заявляет, что эта программа полностью интегрирована в их бэкэнд и не испытывает этой проблемы. До сих пор все внешние программы, которые я выполнил в PHP, выходят, не требуя ввода пользователем, который, кажется, является нормой для этой ситуации.
Мне кажется, что в коде просто не должно быть конечного сообщения, требующего ввода пользователем. Я что-то упускаю? Или есть способ обойти это? Или им просто нужно изменить свой код? Спасибо!
Какая ОС вы используете? – Ted
Ubuntu, работает Apache2 и PHP5 –
Ubuntu? Это очень похоже на сообщение, которое вы можете получить после того, как файл Windows BAT заканчивается иногда. Weird. – James