我有一个 PHP 脚本,我使用以下命令来执行:
php -f my_script.php myArguments
这个脚本使用svn进行版本控制。我刚刚更新了它,将要运行的命令粘贴到终端中并执行。但是,没有任何输出。没有错误信息,没有任何打印内容,什么都没有。它看起来像从未开始一样。就像下面这样:
me:/srv/scripts# php -f my_script.php myArguments
me:/srv/scripts#
其他脚本可以正常运行。对于我来说,很难提供一个SSCCE,因为我实际上无法分享导致这种情况的代码,并且我没有能够有意地复制这种行为。然而,我已经看到了两次。如果我保存更改,还原文件,然后将它们粘贴回去,它就有很大的机会可以正常运行。但是,我担心不知道是什么原因导致了这种奇怪的行为。是否有空格字符或其他内容告诉PHP不要启动或输出任何东西?
在看到这种行为之后,我尝试了以下方法:
- 修改脚本,使其简单地成为“echo 'hello'” - 在脚本开头放入无意义的内容,使其无法解析 - 粘贴来自工作脚本的代码 - 愤怒地撞在墙上 - 在另一个终端/putty ssh连接中尝试它
有趣的是:它实际上在另一个终端中工作。它按预期执行所有操作。
那么,是否有人有任何想法可能是什么原因导致这种情况,或者我应该尝试哪些方法以确定问题?
php -l < my_script.php
命令进行检查。 - MrTuxchmod +x
命令以防万一。 - DaGhostman Dimitrov.ini
文件中的display_errors
被关闭了。我们看不到输出的脚本可能只是有语法错误。如果你想把它作为答案发布,我会接受它。 - MirroredFate