在今天的perlmonks上,用户需要维护一个PHP应用程序,并且想知道perl-wcscript.pl
的PHP等价物是什么——具体来说,他们想知道如何运行来自命令行的PHP脚本并让它显示任何警告(alaperl的严格和警告编译指示)。
不幸的是,在PHP中没有像在perl中那样简单的方法来完成此操作。基本上,您需要执行以下操作:
-
要显示错误:
- 在您的
php.ini
文件中,设置display_errors=在
、或 - 您的脚本中,添加行
ini_set('display_errors',true);
- 在您的
-
显示通知、警告、错误、弃用通知:
- 在您的
php.ini
文件,设置error_reporting=E_ALL|E_STRICT
,或 - 在您的脚本中,添加行
error_reporting(E_ALL|E_STRICT);
- 在您的
或者,您可以创建包含以下行的文件:
<?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', true);
然后将php.ini
设置auto_prepend_file
设置为该文件的路径。
注意:不要在生产系统上执行上述任何操作!PHP的错误消息通常会揭示有关您的应用程序的很多信息,包括文件布局和潜在的攻击向量。在生产机器上关闭display_errors
,将error_reporting
设置得稍微低一些,并将log_errors
设置到一个文件中,这样您就可以跟踪您的机器上发生了什么生产系统。
问题的第二部分是如何在命令行上运行PHP脚本。这非常简单:phpmyscript.php
。与任何其他脚本语言没有什么不同。
不过,您可以通过使用某些开关获得一些有用的信息。-l
将PHP解释器变成linter,并且可以让您知道您的代码是否格式正确(这不一定排除运行时或解析错误)。-f
将通过解析器运行脚本,这可以为您提供更多信息。我通常将这些操作绑定到vim中的键,这样我就可以随时检查我的工作。
如果您打算单独在命令行上运行代码,请在脚本的第一行添加一个shebang:#!/path/to/php
。然后使脚本可执行,你就可以开始了。这对于cronjobs或批处理脚本很方便。
所有这些信息都可以在PHP手册中轻松获得,并且通过将--help
开关传递给PHP可执行文件,命令行选项始终可用。所以,开始测试您的脚本吧!