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