Как выполнить блокировку php из терминала без сохранения в файл - PullRequest
25 голосов
/ 06 октября 2011

Скажем, у меня есть блок кода, который я хотел бы проверить следующим образом:

<?php 
 Print "Hello, World!";
?>

Как быстро запустить этот код из терминала, не сохраняя его в файл?

Я пробовал что-то вроде ...

php -r "Print "Hello, World!";"

но только что получили жалобы на синтаксические ошибки. Там должен быть простой способ сделать это. Мне только нужно найти объяснения.

Ответы [ 2 ]

44 голосов
/ 09 ноября 2012

для быстрого доступа к PHP в Терминале, сначала установите PHP, а затем запустите:

php -a

Подробности :

enter image description here

php -a открывает интерактивную оболочку для ввода непосредственно команд php и просмотра результата. Сразу же, например, после ввода php -a в оболочке linux, вы можете ввести echo 'Hello World'; и после нажатия клавиши Enter на экране будет напечатано Hello World!.

Windows Solution

В Windows отсутствует интерактивный режим, аналогичный Linux, поскольку Windows не может читать строки из командной строки, но все еще может использовать интерактивный режим !, и т. Д.Windows открывает php на месте, где вы его установили, например, если вы используете xampp php на C:\xampp\php, а затем наберите php -a, как то, что вы вводите в терминале, но в конце каждой части вы хотите просмотреть результаты, просто нажмите Ctrl+Z изатем нажмите ввод.

php -a
echo 'hello world!';
^Z
39 голосов
/ 06 октября 2011

Избегайте внутренних двойных кавычек ("), которые вы используете для разделения строки.

php -r "Print \"Hello, World!\";"

В качестве альтернативы, используйте одинарные кавычки (') для строки PHP или для цитированиякод PHP.

Если вы запустите php --help, вы увидите список команд, которые принимает программа php.

  -a               Run as interactive shell
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...