无法从命令行执行PHP文件

时间:2017-08-02 16:15:29

标签: php command-line ubuntu-14.04 command-line-interface php-7

我遇到Jenkins问题后,部署挂起了作业,需要在命令行上执行PHP(pdependphpmdphpcpd等。) ,并注意到,我也无法在命令行上重新安装Composer或运行PHPLoc等工具,我创建了一个PHP文件

<?php
print_r(get_defined_constants());

并尝试在命令行上执行它:

php phptest.php

它不起作用。当我这样做时,没有任何反应。没有错误。什么都不是:

enter image description here

环境是PHP 7.0.3和Ubuntu 14.04.3(在VirtualBox VM中)。顺便说一句。在命令行上执行的php -vphp -i仍然有效。

可能导致此问题的原因以及如何解决?

修改

权限似乎是正确的:

root@ubuntuvm:~/Desktop# ls -lia | grep "phptest.php"
132234 -rw-r--r--  1 root root   40 Aug  2 17:29 phptest.php

777也无效:

root@ubuntuvm:~/Desktop# chmod 777 ./phptest.php 
root@ubuntuvm:~/Desktop# php phptest.php
^C

设置了错误报告:

/etc/php/7.0/cli

error_reporting = E_ALL
display_errors = On
log_errors = On
error_log = /var/log/php_errors.log

1 个答案:

答案 0 :(得分:3)

这只是开始发生在我身上,我终于想通了。我不知道这是不是您的问题,或者您是否可以复制它,但是希望这可以对其他人有所帮助。

我在PHPStorm中打开了两个项目,在其中一个项目中,我打开了“侦听PHP调试连接”,并且由于某些配置选项,当我在系统上的任何位置运行任何php脚本时,那个PHPStorm窗口将抓取该进程并将其暂停以进行调试。

enter image description here

通常,这将使PHPStorm跳到最顶层窗口,以直观的方式提示我可以控制该窗口,但是由于我运行的脚本类型,我在启动它后立即切换了窗口。因此,我的手动窗口切换使我没有注意到PHPStorm的自动切换。

使PHPStorm停止侦听连接后,我能够再次运行脚本。