Я искал все выше и ниже, но все советы и рекомендации, которые я нашел, почему-то не работают. У меня есть командный файл, который вызывается так:
cmd /C "automateMyProgram.bat >> automation.log 2>>&1"
Это прекрасно работает: Automation.log загружается со всеми stdout и stderr для этого конкретного пакетного файла. Однако в этом пакетном скрипте у меня есть следующая команда:
start php updateDB.php param1 param2 ^> updateDB.log
Скрипт php отлично выполняется и прекрасно читает параметры, но updateDB.log никогда не создается. Я убедился, что в сообщении об ошибках php в файле php.ini задано отображение ошибок в интерфейс командной строки. В php-скрипте есть несколько операторов echo, которые мне нужно записать в журнал, но по какой-то причине они не выводятся. Я читал, что если вы используете команду запуска для вызова программы, вы должны использовать оператор каретки для перенаправления вывода, так как программа запускается в новом процессе. Я также попробовал:
start php updateDB.php param1 param2 >> updateDB.log
и это тоже не сработало. И тогда я попытался:
start /B "Database Update" "php" "param1" "param2" >> updateDB.log
и это не сработало из пакетного файла, но сработало, когда я скопировал и вставил его прямо в окно cmd на рабочем столе.
Может кто-нибудь из вас знает, как я могу перенаправить вывод вызываемого php-скрипта из командного файла?
Спасибо за ваше время и помощь!