所以我有一个 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 连接中尝试。
这就是有趣的地方:实际上works在不同的终端。它按预期完成一切。
那么有谁知道可能导致此问题的原因,或者我应该尝试哪些方法来确定问题?
EDIT:
“异端”仍然是终端应用程序,只是一种新的终端应用程序。
我有足够的权限来执行该文件,但即使我没有,它也应该吐出一条消息说我没有。
我故意引入语法错误,希望能让 PHP 吐出解析错误。仍然没有输出。
显示错误 http://php.net/manual/en/errorfunc.configuration.php#ini.display-errors可能会在运行时之前被禁用。您可以使用以下命令手动打开它-d 开关 http://php.net/manual/en/features.commandline.options.php:
php -d display_errors=1 -f my_script.php myArguments
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)