Как использовать PHP интерактивную оболочку
Я использую Ubuntu 12.04 64 bit и хочу использовать интерактивную оболочку PHP:
php -a
Но, похоже, это работает не очень хорошо, большая часть синтаксиса неверно интерпретирована.
Когда я бегу php -a
он отображает:
interactive mode enabled
И просто курсор мигает.
Я использую: PHP 5.4.13-2~ точный +1 (cli) (построено: 21 марта 2013 12:17:18)
Как использовать интерактивную оболочку PHP?
4 ответа
Попробуйте установить http://www.phpsh.org/ возможно, это самое простое решение.
Шаги: (при условии, что зависимость установлена)
git clone https://github.com/facebook/phpsh
cd phpsh
sudo python setup.py install
phpsh
Это то, что вы получите, когда php5-readline
пакет не установлен. Предполагая, что это ваша проблема, вы можете исправить ее, выполнив следующую команду:
sudo apt-get install php5-readline
Как использовать PHP интерактивную оболочку
phpsh был сделан на фейсбуке. Чтобы установить его, смотрите это: http://www.phpsh.org/
Инструкция по установке:
sudo apt-get install git
cd /home/youruser;
Вытащите репозиторий, перейдите в него и установите:
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
(
)
Ты хочешь больше??? Существует достаточно, чтобы заполнить всю жизнь, Godspeed: http://php.about.com/od/advancedphp/
Как насчет PsySH?
Небольшой пример:
psysh
Psy Shell v0.7.2 (PHP 5.5.12-2ubuntu4.6 — cli) by Justin Hileman
>>> $toto='ejgf5d78gfmkzl'
=> "ejgf5d78gfmkzl"
>>> substr($toto,0,2)
=> "ej"