2017-01-06 3 views
1

У нас есть PHP (5.5.15) скрипт на WAMP с этим:PHP скрипт иногда не удается запустить COM процесс

$wsh_shell = new COM("WScript.Shell"); 
$retval = $wsh_shell->Run($batch_file_name, 0, false); 

$ batch_file_name просто .bat файл, который запускает другой PHP файл. В 95% случаев это работает отлично, и он может запускать файл. Остальные 5% просто не запускаются.

Есть ли способ получить дополнительную информацию о том, почему процесс не удалось запустить? $ retval выше содержит только 1 или 0. Где-то происходит сбой журнала wscript.shell? Есть ли еще какой-нибудь журнал, который мог бы дать мне понять, почему эти сбои происходят?

ответ

0

Мне удалось обойти проблему, если сценарий использует планировщик задач Windows для запуска нового экземпляра. Сценарий имеет цикл, который работает около 30 минут. Затем он считывает файл конфигурации и проверяет команду «respawn». Если это правда, скрипт теперь будет использовать командную строку schtasks, чтобы создать 1-временную задачу, чтобы снова начать заново за 3 секунды. Он работает несколько часов без проблем.

+0

Обновление: примерно через 17 часов он все еще работает нормально и поднимается примерно каждые 30 минут. – raphael75

Смежные вопросы