Question: I have tried to execute simple php code in the php interpreter.
When I executed the command `php -a` I getting the message

> 
> Interactive mode enabled
> 
> 
> 

Without any place for php input.
But I can execute a php code through the command `php -r`.
for example:

`php -r "echo 'Hello stackoverflow!';"`

> 
> Hello stackoverflow!
> 
> 
>

Answer: 
You are in interactive mode, but without a prompt, since you may not have readline mode available. You just just need to start typing, and your commands will be evaluated after you press enter. It doesn't look like anything is going on, but if you enter, for example:

```
<?php

echo "hello world";

?>

```

...you will get output...

If you enter braced blocks, they get evaluated after you press enter following the closing `}`

```
<?php 
for ($i = 0; $i < 5; $i++) {
  echo $i;
}
// prints 12345 after closing }

```

Note that you must start with `<?php` or anything entered won't be evaluated.

### Update (years later):

On a Red Hat (RHEL5) system running the vendor's security patched PHP 5.3.3, I have encountered an interactive mode which did not echo back following closing braces.

Instead, the output buffer was not flushed until I pressed `Ctrl``d`. Effectively, this makes the interactive session one-time-use. Insert all code input, and `Ctrl``d` to return all output at once.
To check if you have readline module installed, type: `php -m | grep readline`

If nothing displayed, install readline module: `sudo apt-get install php5-readline`

After module installation you can recheck it's presence with previous command, than enter interactive mode with: `php -a`