Я запускаю php-скрипт через веб-сервер для выполнения psexec
который, в свою очередь, выполняет другой скрипт php.
Когда я обычно запускаю это из командной строки, все работает нормально и нет никаких проблем.
Однако, когда я запускаю его с веб-сервера, я получаю следующее:
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com
php exited with error code 1.
Итак, из этого я, очевидно, могу сказать, что psexec работает правильно, но по какой-то причине скрипт php завершается. Как я уже сказал, если я запускаю его вручную из командной строки, он работает отлично.
Я попытался немного осмотреться, но не могу понять. Кто-нибудь знает?
Я запускаю Apache2 (XAMPP) в Windows 2008
Коды ошибок, возвращаемые PsExec, относятся к выполняемым вами приложениям, а не к PsExec. Если psexec успешно подключится и запустит целевую программу, он вернет уровень ошибки из этой программы. 0 - обычно успех, 1 - неправильный / недействительный / неудачный.
Что вы пытаетесь достичь? Возможно, вы можете настроить запланированную задачу для запуска сценария или какой-либо другой способ его запуска. Может быть, учетная запись службы, на которой запущен apache, не имеет разрешений на выполнение сценария?
РЕДАКТИРОВАТЬ: также попробуйте добавить флаг -accepteula к команде psexec в вашем PHP-коде. Возможно, он зависает при принятии лицензионного соглашения