Php 是否将控制台文本保存到txt文件中?(菲律宾)

Php 是否将控制台文本保存到txt文件中?(菲律宾),php,shell,console,Php,Shell,Console,实际上我已经写完了我的程序。因为它只是一个插件,在外部服务器上运行,所以我仍然想看看控制台中是否出现了一些错误或其他问题 我用echo…)编写每个控制台输入。我现在的问题是,是否可以获取控制台的文本 因为这样我就可以很容易地将它保存在一个.txt文件中,并且可以从web上访问它:)-或者有其他方法来获取控制台文本吗 我可能会说fwrite(…)instand ofecho。但是这会花费很多时间 你好,谢谢 对于控制台(命令行界面),您可以重定向脚本的输出: php yourscript.php

实际上我已经写完了我的程序。因为它只是一个插件,在外部服务器上运行,所以我仍然想看看控制台中是否出现了一些错误或其他问题

我用
echo…)编写每个控制台输入。我现在的问题是,是否可以获取控制台的文本

因为这样我就可以很容易地将它保存在一个.txt文件中,并且可以从web上访问它:)-或者有其他方法来获取控制台文本吗

我可能会说
fwrite(…)
instand of
echo。但是这会花费很多时间

你好,谢谢

对于控制台(命令行界面),您可以重定向脚本的输出:

php yourscript.php > path-of-your-file.txt
如果您无法访问命令行界面或编辑cronjob行,则可以在脚本开头复制starndar输出:

$fdout = fopen('path-to-your-script.txt', 'wb');
eio_dup2($fdout, STDOUT);
eio_event_loop();
fclose($fdout);
(eio是pecl扩展)

对于控制台(commando line interface),您可以重定向脚本的输出:

php yourscript.php > path-of-your-file.txt
如果您无法访问命令行界面或编辑cronjob行,则可以在脚本开头复制starndar输出:

$fdout = fopen('path-to-your-script.txt', 'wb');
eio_dup2($fdout, STDOUT);
eio_event_loop();
fclose($fdout);

(eio是一个pecl扩展)

如果您使用控制台(即php yourscript.php)运行脚本,您可以轻松地将修改命令的输出保存到:

php yourscript.php > path/to/log.txt

上述命令将捕获脚本的所有输出,并将其保存到
log.txt
。根据需要更改脚本/日志的路径

如果您使用控制台(即php yourscript.php)运行脚本,您可以轻松地将修改命令的输出保存到:

php yourscript.php > path/to/log.txt

上述命令将捕获脚本的所有输出,并将其保存到
log.txt
。根据需要更改脚本/日志的路径

如果您的目标是创建一个要访问的文本文件,那么您应该直接创建一个文本文件

(执行此操作,而不是回显控制台)

(完成后,只需创建文件:)


当然,这是稀疏的-您还应该检查文件是否存在,必要时创建它,等等。

如果您的目标是创建一个要访问的文本文件,那么您应该直接创建一个文本文件

(执行此操作,而不是回显控制台)

(完成后,只需创建文件:)


当然,这是稀疏的-您还应该检查文件是否存在,必要时创建它,等等。

在windows上可以使用的另一种方法是将所有输出缓冲区保存到txt,首先检查控制台应用程序的php配置,然后必须关闭

<?php  
ob_start(); //before any echo
/** YOUR CODE HERE **/
$output = ob_get_contents(); //this variable has all the echoes
file_put_contents('c:\whatever.txt',$output);
ob_flush(); //shows the echoes on console
?>

在windows上可以使用的另一种方法是将所有输出缓冲区保存为txt,首先检查控制台应用程序的php配置,然后必须关闭flush

<?php  
ob_start(); //before any echo
/** YOUR CODE HERE **/
$output = ob_get_contents(); //this variable has all the echoes
file_put_contents('c:\whatever.txt',$output);
ob_flush(); //shows the echoes on console
?>


如何执行脚本?您可以执行类似“php myscript.php>>mylog.log”的操作所有的
echo
都将存储在日志中。我使用宿主在一个界面中的cronjob执行它。然后只需在命令末尾添加
>logfilename.log
。哪个命令?要将STDOUT和STDERR放入日志,请执行
php myscript.php>>mylog.log 2>&1
如何执行脚本?您可以执行类似“php myscript.php>>mylog.log”的操作所有的
echo
都将存储在日志中。我使用宿主在一个界面中的cronjob执行它。只需在命令末尾添加
>logfilename.log
。哪个命令?要将STDOUT和STDERR放入日志中,只在Windows上执行
php myscript.php>>mylog.log 2>&1
,还是在Linux上也可以服务器?它也可以在linux上工作,但在linux上,您可以简单地运行:php yourscript.php>path/to/log.txt,这使得作业只在Windows上运行而不更改一行php代码,或者它也可以在linux服务器上工作?它也可以在linux上工作,但在linux上,您可以简单地运行:php yourscript.php>path/to/log.txt,这使得作业不需要更改任何php代码更改一行php代码