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


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

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

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

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

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

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

Author: alex, 2011-10-06

2 answers

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

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>.
 35
Author: alex, 2014-08-14 23:40:49

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

php -a

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

enter image description here

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

Решение для Windows

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

php -a
echo 'hello world!';
^Z
 39
Author: Mehdi Hosseini, 2014-03-12 11:26:30