Для выполнения PHP скриптов обычно используются веб-серверы, но иногда может возникнуть необходимость запустить PHP-скрипт непосредственно из командной строки, без использования веб-сервера. Это может быть полезно для отладки или автоматизации задач.
В этой статье мы рассмотрим, как запустить PHP-скрипт без веб-сервера на операционных системах Linux и Windows.
php -v
Если интерпретатор-PHP не установлен, выполните следующую команду, чтобы установить его:
Ubuntu/Debian:
sudo apt-get install php
CentOS:
sudo yum install php
nano script.php
php
<?php
echo "Hello, World!";
?>
php script.php
Готово! Вы успешно запустили PHP-скрипт в командной строке Linux. В данном случае, на экране появится вывод «Hello, World!».
Этот подход можно также использовать для выполнения более сложных скриптов и автоматизации различных задач в Linux-среде.
Вы можете запустить PHP в командной строке, не устанавливая веб-сервер. Достаточно просто работать через PHP-интерпретатор.
php -v
Если PHP не установлен, загрузите и установите его с официального сайта PHP.
Важно! На момент написания нашего руководства релевантная версия PHP – 8.2. Вы же можете установить ту, которая будет актуальна для вас. Всегда выбирайте версию «Thread Safe».
Загрузите соответствующий установщик PHP для Windows и следуйте инструкциям по установке.
Для создания нового скрипта с именем «script.php», выполните следующую команду:
notepad script.php
php
<?php
echo "Hello, World!";
?>
php script.php
Готово! Вы успешно запустили PHP-скрипт в командной строке Windows. В данном случае, на экране появится вывод «Hello, World!».
Вы можете использовать этот подход для выполнения более сложных скриптов и автоматизации различных задач в среде Windows.
Опции запуска PHP скриптов в командной строке предоставляют собой различные возможности и параметры для управления выполнением скриптов. Запустив команду php -h можно ознакомиться со следующими опциями:
Опция |
Полное название |
Функция |
-a |
--interactive |
Запускает PHP в интерактивном режиме. |
-c |
--php-ini |
Указывает каталог, где находится файл php.ini. |
-n |
--no-php-ini |
Ставит задачу не использовать php.ini |
-d |
--define |
Задаёт пользовательское значение для каждой конфигурационной опции php.ini. |
-e |
--profile-info |
Генерирует расширенную информацию для отладчика/профайлера. |
-f |
--file |
Разбирает и выполняет указанный файл. |
-h и -? |
--help и --usage |
Предоставляет справку доступных опций. |
-i |
--info |
Выводит информацию о PHP. |
-l |
--syntax-check |
Проверяет синтаксис кода. |
-m |
--modules |
Показывает встроенные и загруженные модули. |
-r |
--run |
Выполняет PHP-код без использования тегов скрипта. |
-B |
--process-begin |
Выполняет PHP-код перед обработкой входных строк. |
-R |
--process-code |
Выполняет PHP-код для каждой входной строки. |
-F |
--process-file |
Разбирает и выполняет указанный PHP-файл для каждой входной строки. |
-E |
--process-end |
Выполняет PHP-код после обработки всех входных строк. |
-S |
--server |
Запускает встроенный веб-сервер. |
-t |
--docroot |
Указывает корневой каталог документов для встроенного веб-сервера. |
-s |
--syntax-highlight и --syntax-highlighting |
Выводит исходный код с подсветкой синтаксиса HTML. |
-v |
--version |
Указывает номер версии. |
-w |
--strip |
Выводит исходный код без комментариев и пробелов. |
-z |
--zend-extension |
Загружает расширение Zend. |
не задано |
--ini |
Показывает имена конфигурационных файлов. |
--rf |
--rfunction |
Предоставляет информацию об указанной функции. |
--rc |
--rclass |
Предоставляет информацию об указанном классе. |
--re |
--rextension |
Предоставляет информацию об указанном расширении (модуле). |
--rz |
--rzendextension |
Предоставляет информацию об указанном модуле Zend. |
--ri |
--rextinfo |
Предоставляет информацию о конфигурации заданного модуля. |
Больше о существующих опциях вы можете узнать из официальной документации PHP.
Как мы уже рассмотрели выше, при использовании опции -l можно проверить синтаксис кода PHP, чтобы убедиться, что он не содержит ошибок и соответствует правилам.
Для этого способа не требуется запуск скрипта, – проверка будет произведена внутри командной строки.
Общий синтаксис:
php -l путь/к/файлу/.php
Пример использования:
php -l C:/Users/Nicru/Documents/PHP/script.php
В результате выполнения команды будет выведено сообщение о том, является ли синтаксис скрипта корректным или же есть ошибки, которые необходимо исправить.
Если всё верно, вы получите следующий вывод:
No syntax errors detected in C:/Users/Nicru/Documents/PHP/script.php
Если в синтаксисе есть ошибки:
php -l C:/Users/Nicru/Documents/PHP/script.php
PHP Parse error: syntax error, unexpected end of file in C:/Users/Nicru/Documents/PHP/script.php on line 8
Parse error: syntax error, unexpected end of file in C:/Users/Nicru/Documents/PHP/script.php on line 8
Errors parsing C:/Users/Nicru/Documents/PHP/script.php
Иными словами, опция -l – это крайне полезная возможность для обнаружения и устранения ошибок в PHP-коде до его фактического выполнения.
Как в Windows, так и в Linux для запуска .php файла в командной строке, вы можете использовать следующие команды:
php -f путь/к/файлу.php
Вы также можете опустить опцию «-f», так предыдущая и следующая команды останутся равнозначны:
php путь/к/файлу.php
Например, если у вас есть файл, расположенный в директории «C:/Users/Nicru/Documents/PHP/script.php», вы можете запустить его в PHP с помощью следующих команд:
php -f C:/Users/Nicru/Documents/PHP/script.php
Или!
php C:/Users/Nicru/Documents/PHP/script.php
Таким образом, вы можете без особых усилий запускать PHP-скрипты в командной строке как в Windows, так и в Linux, используя соответствующие команды и указывая путь к файлу .php, который вы хотите выполнить.
В PHP вы можете обратиться к аргументам, переданным скрипту, с помощью специального массива $argv. Этот массив содержит значения аргументов командной строки, переданных при запуске скрипта.
Каждый элемент массива $argv соответствует отдельному аргументу, где $argv[0] содержит имя самого скрипта, а $argv[1], $argv[2] и прочие содержат значения последующих аргументов.
Например, если у вас есть PHP-скрипт «script.php», который запускается с аргументами командной строки, вы можете получить доступ к этим аргументам следующим образом:
<?php
$argc = count($argv);
if ($argc > 0) {
for ($i = 1; $i < $argc; $i++) {
echo "Аргумент $i: " . $argv[$i] . "\n";
}
}
?>
Таким образом, вы можете обратиться к аргументам командной строки в PHP скрипте, используя массив «$argv», и выполнять операции на основе переданных значений аргументов.
В командной строке вы также можете запускать отдельные команды PHP, не используя целый PHP-скрипт.
Запускать отдельные команды PHP можно с помощью опции -r (или --run). Она позволяет передавать PHP-код непосредственно в командную строку.
Вот как это работает:
Введите следующую команду:
php -r 'код'
Где «код» – это PHP-код, который вы хотите выполнить. Например, для вывода строки «Hello, World!» вы можете использовать:
php -r 'echo 'Hello, World!';'
После ввода команды и нажатия Enter, PHP выполнит указанный код и выведет результат в командной строке. В данном примере, результатом будет строка «Hello, World!».
Вы можете смело использовать этот метод для запуска отдельных команд PHP в командной строке. Он может быть особенно полезным, когда вам необходимо выполнить небольшую часть кода или провести быструю проверку функциональности без создания отдельного файла.
Запуск PHP скриптов в командной строке без веб-сервера является удобным способом выполнения PHP-кода для отладки, автоматизации задач и выполнения различных сценариев. В этой статье мы рассмотрели, как запустить PHP скрипт в командной строке Linux и Windows, а также ознакомились с опциями запуска PHP-скриптов и запуском отдельных команд PHP.
Теперь вы можете использовать этот гибкий способ работы с PHP в вашей системе.