【发布时间】:2014-10-09 10:29:30
【问题描述】:
所以我有一个使用以下命令执行的 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 吐出解析错误。还是没有输出。
【问题讨论】:
-
Banging my head on a wall in frustration你是否有足够的 SSH 访问权限来执行 php 命令? -
文件是否存在语法错误并终止? - 尝试发出
php -l < my_script.php -
权限问题?你可以在文件上做一个
chmod +x以防万一 -
当您说它在不同的终端中工作时,您是指不同的终端应用程序还是在同一终端的另一个实例中?
-
php -d display_errors=1 -f my_script.php myArguments
标签: php output command-line-interface