Как выполнить блок php из терминала без сохранения в файл

#php #terminal #command

#php #терминал #команда

Вопрос:

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

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

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

Я пробовал такие вещи, как…

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

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

Ответ №1:

Для немедленного запуска команд PHP на терминале вы можете передать -a option на ваш установленный PHP:

 php -a
  

Подробные сведения:

введите описание изображения здесь

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

Решение для Windows

В Windows нет интерактивного режима, такого же, как в Linux, но все же вы можете использовать интерактивный режим!, Поэтому откройте PHP на месте, где вы его установили, например, если вы используете XAMPP, тогда ваш PHP должен быть включен C:xamppphp (или добавьте двоичный каталог в переменные среды), а затем введите php -a В концекаждую строку вы можете просмотреть, нажав Ctrl Z и затем Enter .

 php -a
echo 'hello world!';
^Z
  

Комментарии:

1. Лучше использовать строчную форму: php -a чтобы вы могли запускать команду во всех операционных системах.

2. это могло бы быть намного лучшим ответом, если бы он объяснял, что PHP -a на самом деле делает

3. @Damon tnx Дэймон, я добавил некоторые детали.

Ответ №2:

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

 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>.