Я попытался выполнить простой PHP-код в PHP-интерпретаторе.  Когда я выполнил команду php -a я получаю сообщение 
Интерактивный режим включен
  Без места для ввода php.  Но я могу выполнить php-код через команду php -r .  например: 
 php -r "echo 'Hello stackoverflow!';" 
Привет, stackoverflow!
Установите это:
 php5-readline 
затем попробуйте использовать:
 php -a 
  введите php -m и убедитесь, что у вас есть модуль readline.  Если вы этого не сделаете, вы не сможете его использовать. 
http://www.php.net/manual/en/features.commandline.interactive.php
Начиная с PHP 5.1.0, CLI SAPI предоставляет интерактивную оболочку, используя параметр -a, если PHP скомпилирован с опцией –with-readline .
Кажется, что существует ошибка компиляции / связи между вашим PHP и libreadline. Это описано в PHP Bug # 48759 .
make clean перед окончательной сборкой? php -m ли функция php -m readline как включенную функцию?  (PHP построен с опцией --with-readline ) После того, как я устал компилировать его на каждой машине, я использовал PHPSH (как упоминалось joey-adams)
Это намного лучше, чем php -a (подсветка синтаксиса и автозаполнение)
Установить python phpsh
посмотрите на install-php5-with-readline-support-on-debian-wheezy
 $ sudo apt-get install python # this is necessary to run phpsh $ cd ~/ $ wget https://github.com/facebook/phpsh/zipball/master $ unzip phpsh-master.zip $ cd phpsh-master $ sudo cp -r src /etc/phpsh # phpsh seems to complain unless it resides at /etc/phpsh $ sudo ln -s /etc/phpsh/phpsh /usr/bin/phpsh # put phpsh on the $PATH 
Вы находитесь в интерактивном режиме, но без подсказки, так как у вас может не быть доступного режима чтения. Вам просто нужно начать вводить текст, и ваши команды будут оцениваться после нажатия клавиши ввода. Это не похоже на то, что происходит, но если вы входите, например:
 <?php echo "hello world"; ?> 
… вы получите результат …
  Если вы введете блокированные блоки, они будут оценены после нажатия кнопки ввода после закрытия } 
 <?php for ($i = 0; $i < 5; $i++) { echo $i; } // prints 12345 after closing } 
  Обратите внимание, что вы должны начинать с <?php или что-либо введенное не будет оцениваться. 
В системе Red Hat (RHEL5), на которой запущена исправленная версия PHP 5.3.3, я столкнулся с интерактивным режимом, который не возвращался назад после закрытия брекетов.
Вместо этого выходной буфер не был сброшен, пока не нажмете Ctrl d . Эффективно это делает интерактивный сеанс одноразовым. Вставьте весь ввод кода и Ctrl d, чтобы сразу вернуть весь вывод.
  Чтобы проверить, установлен ли модуль readline, введите: php -m | grep readline php -m | grep readline 
  Если ничего не отображается, установите модуль readline: sudo apt-get install php5-readline 
  После установки модуля вы можете проверить его присутствие с помощью предыдущей команды, а затем ввести интерактивный режим: php -a 
Если вы используете Mac, тогда установите Homebrew ( http://brew.sh ), а затем введите: brew install phpsh
И затем вы можете запустить phpsh, чтобы получить интерактивную оболочку.
Поскольку модуль readline не установлен. http://php.net/manual/en/features.commandline.interactive.php
Вот как я устанавливаю модуль, перекомпилируя исходные коды php:
Найти предыдущую команду Configure:
 $ php -i | grep configure Configure Command => './configure' '--prefix=/usr/local/php7' ... 
Затем перекомпилируйте:
 ./configure --prefix=/usr/local/php7 \ --with-readline \ ... $ make clean $ make $ make test $ sudo make install 
Проверьте, установлен ли модуль чтения :
 $ php m | grep readline readline 
Затем запустите php Interactive shell:
 $ php -a Interactive shell php > 
Это то, что вы должны увидеть:
 # php -a Interactive shell php > echo 1+1; 2 php > echo PHP_VERSION; 5.3.2-1ubuntu4.14 php > exit #