【问题标题】:Auto refresh script in command line命令行中的自动刷新脚本
【发布时间】:2011-12-20 12:00:13
【问题描述】:

我使用命令行来执行我的 php 脚本,而不是在浏览器中执行它们,所以我可以更快地查找错误。对于浏览器,有一些自动刷新应用程序/插件,因此您不必一直按 CMD+R。

对于我的错误日志,我可以使用tail -f 命令,但果然它不会执行/编译,所以我不能将它用于命令行中的 php 文件。

编译后的 php-files 是否有一些等效或任何解决方法?只在出现错误的情况下输出一些东西会更好(本机 php 错误,如警告、通知)!

如果有帮助的话,在 mac os/x 上工作。

【问题讨论】:

  • 您可以tail -f 错误日志(启用 PHP 将所有错误、警告、通知记录到文件中,并跟踪它)。否则使用终端/外壳,只需按向上箭头键,您将获得最后一个命令,然后您可以再次启动。可能 ctrl+r 也可以在 OSX 下搜索命令的历史记录。
  • tail -f 错误日志,早该想到了! @hakre 你是最棒的,期间!如果您可以输入此解决方案作为答案,那就太好了,猜猜这是针对此类场景的最佳建议!
  • 添加了一些可能对您感兴趣的其他内容的答案。我在我的 linux 机器上使用了类似的东西。

标签: php command-line


【解决方案1】:

watch 命令可以满足您的需求。

watch - 定期执行程序,全屏显示输出

你可以这样做:

watch php myscript.php

它会每两秒执行一次该命令并报告它的输出。

它甚至有标记来突出与先前输出的差异。

【讨论】:

  • 已经试过了,因为我在某处看到它,但不知何故我的 os x 终端返回 command not found :(
  • 看链接,OSX默认没有安装。
  • 知道了,谢谢。不过,使用 hakre 的解决方案,这是最好的!还是谢谢!
【解决方案2】:

您可以tail -f 错误日志(启用 PHP 将所有错误、警告、通知记录到文件中,并跟踪它)。

还检查通知脚本,如果发生某些事情会创建一个气泡,例如类似How to get a pop up notification of a PHP error

否则使用终端/shell,只需按向上箭头键,您将获得最后一个命令,然后您可以再次启动。可能 ctrl+r 也可以在 OSX 下搜索命令的历史记录。

【讨论】:

  • 伟大的 hakre,由于简单,我无法强调我多么喜欢您的解决方案。 Control+R 有效,Control+C 终止tail,以防其他人需要知道!
【解决方案3】:

结合 OSX 命令:-

while [ 1 ]
do
   php -r THE_FILE | grep -Ei "notice|warning|error"
   sleep 5
done

【讨论】:

猜你喜欢
  • 2015-07-11
  • 2011-10-18
  • 2017-01-14
  • 2011-12-23
  • 1970-01-01
  • 2012-06-08
  • 2020-09-28
  • 2018-06-15
相关资源
最近更新 更多