如何从命令行记录PHP脚本的每个输出?

如何从命令行记录PHP脚本的每个输出?,php,logging,error-handling,command-line-interface,Php,Logging,Error Handling,Command Line Interface,我正在运行一个PHP脚本,希望通过命令行将程序的所有输出记录到一个日志文件中。这就是我现在执行脚本时所做的 php generate_production_persons.php 1 10000 2>&1 > log 错误/通知/等。消息不会重定向到我的log文件。它们仍然只是输出到脚本运行的屏幕 我不想从脚本中登录。我只是希望无论何时从命令行运行PHP脚本,都能够将所有这些内容写入日志文件。如果我没有将输出重定向到日志文件,我希望日志文件中的输出与运行它的CLI中的输出一

我正在运行一个PHP脚本,希望通过命令行将程序的所有输出记录到一个日志文件中。这就是我现在执行脚本时所做的

php generate_production_persons.php 1 10000 2>&1 > log
错误/通知/等。消息不会重定向到我的
log
文件。它们仍然只是输出到脚本运行的屏幕


我不想从脚本中登录。我只是希望无论何时从命令行运行PHP脚本,都能够将所有这些内容写入日志文件。如果我没有将输出重定向到日志文件,我希望
日志文件中的输出与运行它的CLI中的输出一模一样。

我认为这样做就可以了

php generate_production_persons.php 1 10000 > everything.log 2>&1

这很有效。你能解释一下它在做什么吗,因为我的逻辑似乎颠倒了/弄糊涂了。你告诉脚本使用
写入日志,然后
2
stderr
应该在
1
stdout
的相同位置输出。也就是说,您可以执行诸如
>transaction.log 2>errors.log
之类的操作来分离输出,甚至可以执行
>transaction.log 2>>errors.log
这样的操作,它将附加到文件中而不是覆盖它们。如果您在ssh中运行php脚本,您将如何保存到本地文件?