Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP交互式shell,无带echo的换行符_Php_Shell - Fatal编程技术网

PHP交互式shell,无带echo的换行符

PHP交互式shell,无带echo的换行符,php,shell,Php,Shell,我用--with readline选项编译了PHP,得到了交互式shell,但我有一个恼人的问题,当我回显某个内容时,回显不会打印换行符,我的意思是: ****@****-PC ~ $ php -a Interactive mode enabled php > echo 1+2; 3php > echo "Hello World!"; Hello World!php > 问题在哪里?我如何解决它? 因为观看会打印新行。如果要强制交互模式始终输出新行,可以在启动时声明: ph

我用--with readline选项编译了PHP,得到了交互式shell,但我有一个恼人的问题,当我回显某个内容时,回显不会打印换行符,我的意思是:

****@****-PC ~ $ php -a
Interactive mode enabled

php > echo 1+2;
3php > echo "Hello World!";
Hello World!php >
问题在哪里?我如何解决它?
因为观看会打印新行。

如果要强制交互模式始终输出新行,可以在启动时声明:

php -dcli.prompt="\nphp> " -a

(或者更确切地说是修改php.ini)

字符串后没有换行符这是一些php()版本的已知错误。如果运行
php-v
,您运行的是什么版本?dcli.prompt到底做了什么?@HaRsH-如果php版本有缺陷,并且不会自动将提示强制到换行符上,这是一种解决方法。作为记录,OP描述的是一个非预期行为的bug,交互式shell的设计目的不是强制用户为任何单行输出手动添加换行符。我如何编辑
php.ini
?使用
dcli.prompt=“\nphp>”-a
?我尝试
定位php.ini
。我应该试试
/etc/php5/php.ini