PHP cli 仅适用于"-n"



我被PHP CLI问题卡住了好几天:

当我运行时,我没有输出,只有一行空白和等待指令的光标

php -r "echo 1;"

但当我用-n运行这一行时(不会使用php.ini文件),一切都正常:

php -nr "echo 1;"

我真正的问题是我的composer快捷方式(/bin/composer)不再工作了,现在我每次都必须写php -n /bin/composer

我在Debian Wheezy上工作,我的PHP版本是最新的(5.4.4-14)

我多次重新安装php都没有成功。求你了,你能帮我吗?

重新安装php5-cliphp5-common包,以及您需要的任何其他依赖项,如上面提到的libssh2-php

sudo apt-get install --reinstall php5-common php5-cli

1。作曲家

请尝试将Composer重新安装到/bin文件夹中。

将Composer全局安装到/bin/Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /bin/composer

如果移动失败,请使用sudo。

运行Composer

然后运行/bin/composer,而不是php composer.pharphp -n /bin/composer

如果不能执行,chmod +x /bin/composer请参阅文档以获取更多信息。


2.PHP CLI

php -r "echo 1;"应在新行中返回"1"。

如果没有发生这种情况,那么您可能需要查看CLI的PHP.ini文件。

当应用-n(未使用ini+使用默认设置)时,就表明配置混乱。

获取加载的ini的路径:php --iniphp -i | grep 'Configuration File'

在Debian上,位置应该是/etc/php5/cli/php.ini

然后寻找可能影响输出的ini指令,比如output_braining与implicit_flash的组合。CLI上的output_braining在默认情况下处于关闭状态。如果outputbuffering被意外打开,而implicitflush被关闭,并且您没有手动刷新缓冲区,那么您将看不到任何输出。

确保打开错误处理指令和日志记录:display_errorsdisplay_startup_errorslog_errors

相关内容

  • 没有找到相关文章

最新更新