php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #60683 Interactive Mode doesn't reach prompt
Submitted: 2012-01-08 05:31 UTC Modified: 2012-03-06 01:56 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (100.0%)
From: davey@php.net Assigned:
Status: Not a bug Package: CGI/CLI related
PHP Version: 5.4.0RC5 OS: OSX 10.7.2 & Ubuntu 11.04
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: davey@php.net
New email:
PHP Version: OS:

 

 [2012-01-08 05:31 UTC] davey@php.net
Description:
------------
* Using OS X Lion 10.7.2 or Ubuntu 11.04 (Natty), and basic "./configure".

If you run php -a, you never reach the prompt, and nothing entered will work. All 
you can do is ^C to kill it.

Setting cli.prompt does not help.

Test script:
---------------
$ php -a

Expected result:
----------------
$ php -a
Interactive mode enabled

php > 

Actual result:
--------------
$ php -a
Interactive mode enabled

(wait. wait. wait.)

^C


Backtrace if helpful:
#0  0x00007fff87f6ad52 in read$NOCANCEL ()
#1  0x00007fff86883c25 in _sread ()
#2  0x00007fff86884166 in __srefill1 ()
#3  0x00007fff86884cb2 in __fread ()
#4  0x00007fff86884b34 in fread ()
#5  0x000000010028744c in zend_stream_getc [inlined] () at /Users/davey/src/php-
5.4.0RC5/Zend/zend_stream.c:148
#6  0x000000010028744c in zend_stream_read (file_handle=0x0, buf=0x1009356a0 "?
V?", len=4096) at zend_stream.c:168
#7  0x00000001002878fb in zend_stream_fixup (file_handle=0x0, buf=0x7fff5fbfecc0, 
len=0x7fff5fbfecb8) at zend_stream.c:262
#8  0x00000001002493be in open_file_for_scanning (file_handle=0x7fff5fbff958) at 
zend_language_scanner.l:483
#9  0x000000010024a190 in compile_file (file_handle=0x7fff5fbff958, type=8) at 
zend_language_scanner.l:566
#10 0x0000000100159ba2 in phar_compile_file (file_handle=0x0, type=1606414144) at 
phar.c:3391
#11 0x0000000100272b57 in zend_execute_scripts (type=8, retval=0x7fff5fbff0a0, 
file_count=1606414496) at zend.c:1264
#12 0x00000001002170e2 in php_execute_script (primary_file=0x7fff5fbff958) at 
main.c:2476
#13 0x00000001002ff3e5 in do_cli [inlined] () at /Users/davey/src/php-
5.4.0RC5/sapi/cli/php_cli.c:983
#14 0x00000001002ff3e5 in main (argc=1606417184, argv=0x0) at php_cli.c:1356

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-01-08 05:37 UTC] dragoonis@php.net
I confirmed this case with davey on Mac OSX Lion

Darwin Paul-Dragooniss-MacBook-Pro.local 11.2.0 Darwin Kernel Version 11.2.0: Tue 
Aug  9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64 x86_64
05:10
macosx lion..


My build details are:
--
bash-3.2$ ../build/bin/php -v
PHP 5.4.0RC6-dev (cli) (built: Jan  8 2012 03:03:04) (DEBUG)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies

Thanks.
 [2012-01-13 21:45 UTC] rk at srsbiz dot pl
IMHO it's not a bug, to have interactive shell you have to configure with readline support, not just clean './configure'
 [2012-01-15 01:58 UTC] dragoonis@php.net
@rk,

If there's support required for another library then it shouldn't let you enter 
interactive mode, and back out, giving you a useful error message to tell you 
there are missing dependencies..
 [2012-01-16 19:18 UTC] rk at srsbiz dot pl
@dragoonis 

readline is only required to make this mode truly interactive (with command history, function completion etc), but it also works without it. You can type/paste your code and it will be executed as soon as EOF (^D) is reached, so it's rather documentation problem.
 [2012-01-17 18:30 UTC] davey@php.net
Can we make the output here 
(http://lxr.php.net/opengrok/xref/PHP_5_4/sapi/cli/php_cli.c#906) be a little 
more descriptive?

i.e.:

printf("Interactive mode enabled\n");
printf("No readline/libedit support, use ^D to execute and quit.\n\n");
 [2012-03-06 01:56 UTC] johannes@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

The classic interactive mode is different from the shell mode, just re-using the flag.
 [2012-03-06 01:56 UTC] johannes@php.net
-Status: Open +Status: Not a bug
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 12:01:29 2024 UTC