У меня есть PHP-скрипт, который вызывает файл .bat с помощью system (). Вывод записывается на экран, и я получаю некоторые значения из анализа этого вывода. Это работает на сервере Windows 2003 IIS. PHP v5.2.0
В частности, я использую этот скрипт для запуска экземпляра Amazon EC2 и назначения ему IP-адреса. До сих пор он работал отлично для меня, но недавно проблема началась.
Вот код
$resultBatTemp = system("cmd /C C:\Inetpub\ec2\my_batch_file_to_launch_instance.bat");
$resultBat = (string)$resultBatTemp;
$instanceId = substr($resultBat, 9, 10);
...
После того, как у меня есть этот instace Id, я могу запустить другой пакетный файл, который вызывает ассоциированный IP-адрес с этим экземпляром. Казалось бы, экземпляр запускается, но я никогда не получаю вывод на экран.
По какой-то причине все это перестало работать, страница зависает и никогда не обновляется. Мне также нужно полностью выйти из Safari или Mozilla, в противном случае все страницы сайта не загружаются. Только когда я перезапущу браузер, я снова смогу просматривать веб-сайт. Я подключился к веб-серверу, на котором размещены эти сценарии, и проверил журнал ошибок PHP, но там ничего не отображается. Я открыл приглашение DOS и таким образом ввел код из файла bat, и он подключается к amazon и запускает экземпляр нормально. Я выделил этот фрагмент кода и удалил системную команду, а остальная часть сценария работает нормально, поэтому кажется, что задержка - с выводом результатов файла bat.
Недавно я приобрел новое доменное имя для сайта, поэтому этот скрипт запускается из этого домена. Может ли это вызвать проблемы?
спасибо
----------------------------------------------- -ОБНОВИТЬ-----------------------------------------------
Хорошо, надеюсь, это кому-нибудь поможет, я не выяснил, в чем дело, но создал новый файл PHP с простой системной командой, которая называется .bat, и несуществующим .bat, ожидающим ошибку назад, но ничего - просто обычное зависание целую вечность. Поэтому я перезапустил IIS, и это решило проблему. Не знаю, что случилось, но это помогло.