Как использовать интерактивную оболочку PHP

Я использую Ubuntu 12.04 64 бит, и я хочу использовать интерактивную оболочку PHP:

php -a 

Но это не работает очень хорошо, много синтаксиса неправильно интерпретируется.

Когда я запускаю php -a он отображает:

 interactive mode enabled 

И только курсор мигает.

Я использую: PHP 5.4.13-2 ~ exact + 1 (cli) (построено: 21 марта 2013 года 12:17:18)

Как использовать интерактивную оболочку PHP?

Попробуйте установить http://www.phpsh.org/, это, вероятно, самое простое решение.

Шаги: (при условии, что установлена ​​зависимость)

  1. git clone https://github.com/facebook/phpsh
  2. cd phpsh
  3. sudo python setup.py install
  4. phpsh

Как использовать интерактивную оболочку PHP

phpsh был сделан facebook. Чтобы установить его, см. Это: http://www.phpsh.org/

Направления установки:

 sudo apt-get install git cd /home/youruser; 

Потяните репозиторий, cd в него и установите:

 git clone https://github.com/facebook/phpsh cd phpsh sudo python setup.py install 

Запустить его:

 el@apollo:~$ phpsh Starting php type 'h' or 'help' to see instructions & features php> 

Прохождение:

Печатные строки:

 php> echo 'hi'; hi 

Сделайте некоторые математические:

 php> echo 1+2; 3 

Распечатайте некоторые встроенные переменные:

 php> echo $_SERVER; Array 

Печатать содержимое этого массива:

 php> print_r($_SERVER); Array ( [LANG] => en_US.UTF-8 [TERM] => xterm [SHELL] => /bin/bash ) 

Получить ключ этого массива:

 php> echo $_SERVER['TERM']; xterm 

Добавление другого рода:

 php> =2+2 4 

Печать предыдущего:

 php> = $_ 4 

Сохраните переменную:

 php> $msg = "don't just sit there fancy pants, take the wheel"; php> echo $msg; don't just sit there fancy pants take the wheel 

Уравнение может быть открыто через новые строки до тех пор, пока оно не завершится:

 php> =2+ ... 3+ ... 4+5 14 

Определите наши собственные массивы:

 php> $derp = array(1,2,3); php> echo $derp Array 

Получить тип переменной:

 php> echo gettype(PHP_VERSION); string 

Для великой справедливости, петли:

 php> $i = 0; while ($i < 3){$i++; echo "pinkie pie is best pony ";} pinkie pie is best pony pinkie pie is best pony pinkie pie is best pony 

Получите информацию о себе:

 php> phpinfo(); phpinfo(); PHP Version => 5.3.10-1ubuntu3.8 

Explode анализирует строку в пространстве в массиве, print_r довольно печатает ее:

 php> function little_bad_girl(){ print_r(explode(" ", "oxy contin")); } php> little_bad_girl(); Array ( [0] => oxy [1] => contin ) 

Структура Foreach может быть расширена на следующие строки.

 php> foreach (array(1,2,3) as $item) { ... echo $item; ... } 123 

Блокировать комментарии игнорируются:

 php> /* echo "hidden"; */ php> 

Чтение из файла:

 php> $section = file_get_contents('/home/el/myfile.txt'); php> echo $section; we will become a spacefaring civilization. 

Нет, нет времени:

 php> echo time(); 1386492405 

Чистая сладкая правда:

 php> echo isset($_SERVER); 1 

Создайте массив, найдите в нем элемент.

 php> $data = array(0, 1, 2); php> echo preg_grep("/1/", $data); Array php> print_r( preg_grep("/1/", $data)); Array ( [1] => 1 ) php> print_r( preg_grep("/4/", $data)); Array ( ) 

Ты хочешь больше??? Достаточно заполнить всю жизнь, божественную скорость: http://php.about.com/od/advancedphp/

Это то, что вы получите, когда пакет php5-readline не установлен. Предполагая, что это ваша проблема, вы можете исправить это, выполнив эту команду:

 sudo apt-get install php5-readline 

Как насчет PsySH ?

Пример litle:

 psysh Psy Shell v0.7.2 (PHP 5.5.12-2ubuntu4.6 — cli) by Justin Hileman >>> $toto='ejgf5d78gfmkzl' => "ejgf5d78gfmkzl" >>> substr($toto,0,2) => "ej"