Как выполнить php-блок из терминала без сохранения в файл
Допустим, у меня есть блок кода, который я хотел бы протестировать следующим образом:
<?php
Print "Hello, World!";
?>
Как быстро запустить этот код с терминала, не сохраняя его в файл?
Я пробовал такие вещи, как...
php -r "Print "Hello, World!";"
Но только что получил жалобы на синтаксические ошибки. Должен быть простой способ сделать это. Мне просто еще предстоит найти какие-либо объяснения.
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>.
Для быстрого доступа к PHP в терминале сначала установите PHP, а затем запустите следующее:
php -a
Подробности:
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