Php в командной строке в windows

This section contains notes and hints specific to getting PHP running
from the command line for Windows.

Note:

You should read the manual
installation steps first!

Getting PHP to run from the command line can be performed without making
any changes to Windows.

C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

But there are some easy steps that can be followed to make this simpler.
Some of these steps should already have been taken, but are repeated here
to be able to provide a complete step-by-step sequence.

    Note:

    Both PATH and PATHEXT are important
    pre-existing system variables in Windows,
    and care should be taken to not overwrite either variable,
    only to add to them.

  • Append the location of the PHP executable (php.exe,
    php-win.exe or php-cli.exe
    depending upon your PHP version and display preferences) to the
    PATH environment variable. Read more about how to
    add your PHP directory to PATH in the corresponding FAQ entry.

  • Append the .PHP extension to the
    PATHEXT environment variable. This can be done
    at the same time as amending the PATH environment
    variable. Follow the same steps as described in the FAQ but amend the
    PATHEXT environment variable rather than the
    PATH environment variable.

    Note:

    The position in which you place the .PHP will
    determine which script or program is executed when there are matching
    filenames. For example, placing .PHP before
    .BAT will cause your script to run, rather than
    the batch file, if there is a batch file with the same name.

  • Associate the .PHP extension with a file type. This
    is done by running the following command:

  • Associate the phpfile file type with the appropriate
    PHP executable. This is done by running the following command:

    ftype phpfile="C:\php\php.exe" -f "%1" -- %~2
    

Following these steps will allow PHP scripts to be run from any directory
without the need to type the PHP executable or the .PHP
extension and all parameters will be supplied to the script for processing.

The example below details some of the registry changes that can be made manually.

Example #1 Registry changes

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]
@="phpfile"
"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]
@="PHP Script"
"EditFlags"=dword:00000000
"BrowserFlags"=dword:00000008
"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]
@="C:\\php\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]
@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]
@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]
@="\"C:\\php\\php.exe\" -f \"%1\" -- %~2"

With these changes the same command can be written as:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3

or, if your "C:\PHP Scripts" path is in the
PATH environment variable:

Note:

There is a small problem if you intend to use this technique and use your
PHP scripts as a command line filter, like the example below:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3

or

dir | script -arg1 -arg2 -arg3

You may find that the script simply hangs and nothing is output.
To get this operational, you need to make another registry change.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]
"InheritConsoleHandles"=dword:00000001

Further information regarding this issue can be found in this » Microsoft
Knowledgebase Article : 321788.
As of Windows 10, this setting seems to be reversed, making the default install of
Windows 10 support inherited console handles automatically. This » 
Microsoft forum post provides the explanation.

vechenjivot at gmail dot com

7 years ago

On Windows 10, the above registry entries didn't work for me. In order for them to work, you need to write to
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.php\UserChoice
for which you don't have access, even if you run regedit as admin (probably because of the Hash key).
The solution is actually much easier - right-click a PHP file in Explorer and associate it to always open with php.exe.
And then you need to modify the PATH variable:
setx PATH "%PATH%;c:\path\to\php" /M
if you want to execute files with commands like
php file.php

pimroes at gmail dot com

12 years ago

Make sure your run CMD.exe as an administrator, otherwise you'll get an "access denied" when you run the commands.

rudigerw at hotmail dot com

7 years ago

On Windows 10 starting php by only typing the script name in an elevated command prompt pops up a dialog to choose an app.
It turns out Windows does that when the program associated with phpfiles through ftype cannot be executed. In this case this happens because it is trying to run php.exe in non-admin mode, even when launched from an elevated command prompt. To fix this, locate your php.exe, right-click, "Properties", "Compatibility", under Settings check "Run this program as an administrator; then also click "Change settings for all users".

elhadjouattara at gmail dot thrcom

8 years ago

On Windows 8, with php 5.6.8 win32 VC11 in command line, need to indicate path with / rather than backslash \
Hence C:\Users\toshiba\Documents\php\test.php shall be C:/Users/toshiba/Documents/php/test.php

Как запустить PHP скрипт в командной строке Windows

Для запуска PHP в командной строке необязательно устанавливать веб-сервер, достаточно скачать и распаковать архив с PHP интерпретатором. О том, где скачать PHP с официального сайта и как разобраться с версиями, смотрите эту статью.

Если вы часто будете запускать PHP скрипты из командной строки Windows, то настоятельно рекомендуется Добавить путь до PHP в переменную окружения PATH в Windows. Благодаря этому не придётся каждый раз указывать полный путь до файла php.exe.

Теперь, когда PHP установлен и путь до php.exe добавлен в переменную окружения Windows, открываем командную строку, для этого нажмите сочетание клавиш Win+x и выберите Windows PowerShell.

Для проверки, что нормально установилось, посмотрим справку по PHP:

php -h

На самом деле, мы запускаем файл php.exe, но расширение можно отбросить. То есть предыдущая запись эквивалентна

php.exe -h

Как запустить .php скрипт в командной строке Windows и Linux

Для запуска .php файла в консоли Windows используется следующая команда:

php -f путь\до\файла.php

Опцию -f можно отбросить, то есть предыдущая и следующая команды равнозначны:

php путь\до\файла.php

Я создал тестовый файл, который расположен по пути C:\Users\Alex\Documents\PHP\test.php тогда я могу запустить его в PHP так:

php -f C:\Users\Alex\Documents\PHP\test.php

или так:

php C:\Users\Alex\Documents\PHP\test.php

Для передачи скрипту аргументов, перечислите их после имени файла, разделяя пробелом. Если сами аргументы содержат пробелы или другие символы, которые имеют особое значение для оболочки командной строки, то поместите эти аргументы и одинарные или двойные кавычки.

php путь\до\файла.php 'аргумент1' 'аргумент2' 'аргумент3' 'аргумент_n'

Пример запуска PHP скрипта с тремя аргументами:

php C:\Users\Alex\Documents\PHP\test.php 'Alex' 'hackware.ru' 'Admin'

Как в PHP скрипте обратиться к аргументам

Переданные аргументы содержаться в массиве $argv. Причём, порядковый номер аргумента соответствует номеру в массиве. То есть первый аргумент будет помещён в $argv[1], второй в $argv[2] и так далее.

Самый первый элемент массива $argv[0] содержит полный путь до запускаемого скрипта.

Содержимое файла test.php:

<?php

echo 'Name: ' . $argv[1] . PHP_EOL;
echo 'Web site: ' . $argv[2] . PHP_EOL;
echo 'Status: ' . $argv[3] . PHP_EOL;

Запустим его и передадим в скрипт три аргумента:

php C:\Users\Alex\Documents\PHP\test.php 'Alex' 'hackware.ru' 'Admin'

Как в PHP получить данные от пользователя в консоли

Благодаря передаваемым аргументам, скрипт может выполнять действия не только с прописанными в нём данными, но и с другими значениями, указанными при запуске скрипта.

Кстати, при работе в окружении веб-сервера, то есть когда PHP скрипт выполняет задачи для веб-сайта, возможность передать ему аргументы реализована с помощью HTTP методов GET и POST. Эти аргументы передаются перед запуском скрипта, и уже после запуска PHP скрипта новые данные отправить нельзя — нужно ждать завершения работы программы, и при необходимости запустить её ещё раз с новыми данными.

Во время работы скрипта может потребоваться ввод новых данных, в консоли это достигается с помощью строки запроса, в которую пользователь может ввести значение и нажать Enter для передачи его скрипту. В контексте веб-сайта такой возможности — передать данные уже во время выполнения скрипта — нет. То есть консольный запуск PHP скриптов с аргументами не только проще (не нужно возиться с HTML формой), но и даже более гибкий.

В PHP для запроса пользователю используется функция readline.

Эта функция одинаково работает и на Windows и на Linux. Причём на Linux она имеет интерактивные возможности Bash, например, сохраняет историю ввода, к которой можно вернуться с помощью стрелок. На Windows эта возможность появилась начиная с PHP 7.1.

Если сильно надо, можно настроить автозавершение вводимых данных. Все функции GNU Readline рассмотрены здесь. Я же коснусь только readline, которая считывает введённую пользователем строку. С этой функцией можно указать один опциональный аргумент — строку, которая будет показана пользователю в приглашении.

Пример консольного PHP скрипта, которые запрашивает у пользователя данные в приглашении командной строки:

<?php

$len_min = readline("Минимальное количество символов в пароле: ");
$len_max = readline("Максимальное количество символов в пароле: ");
$base = readline("Основа пароля (0 - цифры; 1 - маленькие буквы; 2 - большие буквы): ");

echo "Полученные исходные данные: \r\nДлина пароля от $len_min до $len_max символов ";
switch ($base) {
    case 0:
        echo "и основой пароля являются цифры.";
        break;
    case 1:
        echo "и основой пароля являются маленькие буквы.";
        break;
    case 2:
        echo "и основой пароля являются большие буквы.";
        break;
}

Выполнение команд PHP в интерактивном режиме

Если вам это нужно, то можно работать с интерпретатором PHP в интерактивном режиме, вводя код построчно. При этом код выполняется после нажатия кнопки Enter, но значения переменных сохраняются в рамках одной сессии. То есть вы можете присвоить значение какой-либо переменной, а затем использовать его в других строках.

Для запуска интерактивного шелла:

php -a

Запуск отдельных команд PHP

Для выполнения отдельных команд используйте опцию -r:

php -r 'echo 2**100;'

Связанные статьи:

  • Как подключить PHP к Apache на Windows (100%)
  • Установка Apache, PHP, MySQL и phpMyAdmin на Windows XP (100%)
  • Для чего нужен веб-сервер Apache (100%)
  • Готовая сборка Apache для Windows XP (100%)
  • Как добавить путь до PHP в переменную окружения PATH в Windows (100%)
  • Модули Apache mods (RANDOM — 50%)

Для выполнения PHP скриптов обычно используются веб-серверы, но иногда может возникнуть необходимость запустить PHP-скрипт непосредственно из командной строки, без использования веб-сервера. Это может быть полезно для отладки или автоматизации задач.

В этой статье мы рассмотрим, как запустить PHP-скрипт без веб-сервера на операционных системах Linux и Windows.

Как запустить PHP-скрипт в командной строке Linux

  1. Откройте терминал. 
  2. Убедитесь, что PHP установлен на вашей системе. Введите следующую команду, чтобы проверить установку и получить версию PHP:

php -v

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

Ubuntu/Debian:

sudo apt-get install php

CentOS:

sudo yum install php

  1. Создайте PHP-скрипт, используя консольный текстовый редактор, например, «nano» или «vim». Для создания нового скрипта с именем «script.php», выполните следующую команду:

nano script.php

  1. В открывшемся редакторе введите PHP-код для вашего скрипта. Например:

   php

   <?php

   echo «Hello, World!»;

   ?>

   

  1. Сохраните скрипт и закройте редактор.
  2. Теперь вы можете запустить созданный PHP-скрипт. Введите следующую команду в терминале:

php script.php

Готово! Вы успешно запустили PHP-скрипт в командной строке Linux. В данном случае, на экране появится вывод «Hello, World!».

Этот подход можно также использовать для выполнения более сложных скриптов и автоматизации различных задач в Linux-среде.

Как запустить PHP скрипт в командной строке Windows

Вы можете запустить PHP в командной строке, не устанавливая веб-сервер. Достаточно просто работать через PHP-интерпретатор. 

  1. Откройте командную строку в Windows. Для этого зажмите сочетание клавиш Win+R, введите «cmd» и нажмите Enter.
  2. Убедитесь, что PHP установлен в вашей системе. Чтобы проверить наличие PHP в системе и узнать установленную версию, введите:

php -v

Если PHP не установлен, загрузите и установите его с официального сайта PHP. 

Важно! На момент написания нашего руководства релевантная версия PHP – 8.2. Вы же можете установить ту, которая будет актуальна для вас. Всегда выбирайте версию «Thread Safe».

Загрузите соответствующий установщик PHP для Windows и следуйте инструкциям по установке.

  1. Создайте PHP-скрипт, используя любой текстовый редактор. В данной инструкции мы воспользуемся Блокнотом

Для создания нового скрипта с именем «script.php», выполните следующую команду: 

notepad script.php

  1. В открывшемся редакторе введите PHP-код для вашего скрипта. Например:

   php

   <?php

   echo «Hello, World!»;

   ?>

   

  1. Сохраните скрипт и закройте редактор.
  2. Теперь вы можете запустить PHP-скрипт. В командной строке пропишите команду:

php script.php 

Готово! Вы успешно запустили PHP-скрипт в командной строке Windows. В данном случае, на экране появится вывод «Hello, World!».

Вы можете использовать этот подход для выполнения более сложных скриптов и автоматизации различных задач в среде Windows.

Различные опции запуска PHP-скриптов в командной строке

Опции запуска 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.

Как проверить синтаксис PHP-скрипта с помощью опции -l

Как мы уже рассмотрели выше, при использовании опции -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-коде до его фактического выполнения.

Как запустить PHP-файл в командной строке Windows и Linux

Как в 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-скрипте обратиться к аргументам

В 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-скрипт. 

Запускать отдельные команды 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 в вашей системе. 

I am trying to learn how to access PHP scripts from the command line (CLI)

Below is an image from my attempt, please help. I am running Windows 7

Cli

asked Sep 5, 2011 at 11:41

JasonDavis's user avatar

JasonDavisJasonDavis

48.3k100 gold badges318 silver badges537 bronze badges

You need to add your PHP installation directory to the %PATH% environment variable, or work from the PHP installation directory.

To add it to path (The best approach — Edited for Windows 7):

  • Right-click on a My Computer icon
  • Click Properties
  • Click Advanced system settings from the left nav
  • Click Advanced tab
  • Click Environment Variables button
  • In the System Variables section, select Path (case-insensitive) and click Edit button
  • Add a semi-colon (;) to the end of the string, then add the full file system path of your PHP installation (e.g. C:\Program Files\PHP)
  • Keep clicking OK etc until all dialog boxes have disappeared
  • Close your command prompt and open it again
  • Sorted

Alternatively, you can run cd <PHP installation path> before you try and run you command, or call your script like <FULL file system path of php.exe> <path to script>

answered Sep 5, 2011 at 11:44

DaveRandom's user avatar

DaveRandomDaveRandom

88k11 gold badges155 silver badges174 bronze badges

5

For temporary use, try this: (benefit for use npm or composer)

> SET PATH=c:\wamp\bin\php\php5.3.29\;%PATH%

For test use this:

> echo %PATH%
c:\wamp\bin\php\php5.3.29\;c:\anothers\;

Now you can access to PHP command:

> php -v
PHP 5.3.29 (cli)

answered May 17, 2018 at 2:29

Nabi K.A.Z.'s user avatar

1

Easy Way: Run CMD then type

C:\wamp\bin\php\php5.4.3\php.exe -f "C:\wamp\www\timenow.php"

Change the last part for a different script, and make sure you have the same version php folder as I do. (php5.4.3)

answered Feb 3, 2014 at 16:02

Mikeys4u's user avatar

Mikeys4uMikeys4u

1,51418 silver badges26 bronze badges

1

On 2020 and with Windows 10 there’s an easier way to achieve this.

1- Download composer at https://getcomposer.org/Composer-Setup.exe

2- Install it as you install any program on windows and (important) when it asks you the path to PHP, browse thru the correct path (for example: c:/wamp/bin/php.exe)

FINNISHED! Close the cmd and reopen and you can run PHP on your command line and also COMPOSER (composer is actually very needed if you use PHP)

answered Jul 4, 2020 at 21:24

gtamborero's user avatar

gtamborerogtamborero

2,94827 silver badges30 bronze badges

you can run cd before you try and run you command, or call your script like

answered Dec 16, 2021 at 4:18

Chatrughan Prasad's user avatar

В данном материале мы рассмотрим такие вопросы как: настройка PHP для работы в командной строке, выполнение PHP-кода в командной строке,
запуск PHP скриптов в командной строке без аргументов и с аргументами.

«На дисерт», в последнем пункте материала, будет показан процесс установки через командную строку
менеджера зависимостей для PHP getcomposer.org.

Начиная с версии 4.3.0, PHP поддерживает новый вид SAPI (интерфейс разработки серверных приложений) под названием CLI, что означает интерфейс командной строки.
Как видно из названия, этот вид SAPI предназначен для разработки консольных (или даже десктопных) приложений на PHP.

Начиная с PHP 4.3.0 дистрибутив для Windows влючает в себя CLI-модуль php.exe, расположенный в отдельной директории cli, полное имя — cli/php.exe.
Начиная с PHP 5, CLI-модуль расположен в основной директории и называется php.exe. CGI-модуль также включен в дистрибутив под названием php-cgi.exe.
Начиная с PHP 5, в дистрибутив для Windows входит новый файл php-win.exe. Он полностью эквивалентен CLI, за исключением того,
что php-win абсолютно ничего не выводит, что приводит к отстутствию консоли (окно DOS не появляется на экране).

Настраиваем работу PHP из командной строки

Прежде всего Вы должны узнать расположение CLI-модуля, файла с именем «php.exe». В моем случае полный путь до данного файла выглядит так — «C:\php\php.exe».

Теперь нам нужно проверить работает ли PHP в командной строке. Для этого откроем командную строку (желательно от имени администратора) и выполним команду:

C:\Windows\system32>C:\php\php.exe --help

укажем полный путь до CLI-модуля, файла «php.exe» (т.е. «C:\php\php.exe»), и через пробел добавим ключ «—help».
(вызов «PHP» в консоли с ключем «—help» покажет справочную информацию).

Если после выполнения данной команды Вы получили предупреждения или сообщения об ошибках, то вероятнее всего, Вами был не верно указан путь до CLI-модуля «C:\php\php.exe».

При удачном выполнение команды должна отобразиться справочная информация. Поздравляю, Ваш PHP работает в консоли.

Вы наверное согласитесь со мной, что каждый раз указывать путь «C:\php\php.exe» довольно-таки не приятно,
и конечно же, запуск PHP можно настроить без необходимости указывать полный путь до файла «C:\php\php.exe».
Для этого необходимо в «Переменные среды» в переменную «PATH» добавить путь до этого файла.

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

выполняем команду с опцией «php —help»

C:\Windows\system32>php --help

В ответ Вы скорее всего получите:

C:\Windows\system32>php --help
"php" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Теперь добавим путь до CLI-модуля «php.exe» в переменную «PATH». Найти данную переменную можно выполнив ряд действий (визуально представлено на изображениях ниже):

«Пуск» → пункт «Панель управления» → «Система» → «Изменить параметры» → вкладка «Дополнительно» → «Переменные среды» → в нижнем блоке (Системные переменные) выделяем Переменную «Path» или «PATH» → «Изменить»

В данной переменной уже имеются пути, которые разделены точкой с запятой (;). Вам необходимо добавить в конец переменной свой путь до CLI-модуля, файла «php.exe»,
В моем случае путь это — «C:\php\». (Будьте внимательны, при внесении изменений не удалите текущие значения).

добавим путь до CLI-модуля, файла «php.exe», в переменную «PATH»

Снова выполняем команду с ключем «php —help»

C:\Windows\system32>php --help
или
C:\Windows\system32>php -h

команда «php» с ключем «—help» покажет справочную информацию

Примеры работы PHP в командной строке

Откроем консоль (желательно от имени администратора) и перейдем к практике.

Рассмотрим два способа запуска PHP-кода:

  • Передача PHP-кода напрямую в командной строке
  • Указание конкретного файла для запуска

Первый способ. Опция «-r» (или «—run») позволяет выполнять PHP-код, указанный непосредственно в командной строке.
Открывающие и завершающие PHP-теги (<?php и ?>) не нужны.

C:\Windows\system32>php -r "printf(1);"
1
C:\Windows\system32>php -r "printf(1+2);"
3
C:\Windows\system32>php -r "printf('Hello world');"
или
C:\Windows\system32>php -r "print_r('Hello world');"
C:\Windows\system32>php -r "echo 'Hello world';"
Hello world
C:\Windows\system32>php -r "var_dump($_SERVER);"

Второй способ. Опция «-f» (или «—file») позволяет исполнять указанный файл. Является не обязательной и может отсутствовать,
достаточно просто указать имя файла.

Исполним индексный файл веб-сервера Apache с расширением «.html»

C:\Windows\system32>php -f C:\Apache24\htdocs\index.html
или
C:\Windows\system32>php C:\Apache24\htdocs\index.html
<html><body><h1>It works!</h1></body></html>

Исполним php скрипт

C:\Windows\system32>php C:\Apache24\htdocs\phpinfo.php

Передаем аргументы php скрипту в консоли

Как и любое другое консольное приложение, PHP может принимает аргументы, а PHP-скрипт также может получать аргументы.
Рассмотрим данную возможность на примере. В корневой директории управления сайтами «C:\Apache24\htdocs» создадим файл «console.php» и внесем в него строки:

<?php
// количество аргуметов переданных в консоли
echo "The number of array elements \$argv = " . $_SERVER['argc'] . "\n";
// выводим массива аргументов переданных в консоли
print_r($_SERVER['argv']);
?>

Исполним php скрипт «console.php» без передачи параметров

C:\Windows\system32>php C:\Apache24\htdocs\console.php
The number of array elements \$argv = 1
Array
(
    [0] => C:\Apache24\htdocs\console.php
)

количество аргуметов переданных в консоли равно 1,

этим аргументом является путь до файла «C:\Apache24\htdocs\console.php»

Исполним php скрипт «console.php» с передачей параметров

C:\Windows\system32>php C:\Apache24\htdocs\console.php param1 param2
The number of array elements \$argv = 3
Array
(
    [0] => C:\Apache24\htdocs\console.php
    [1] => param1
    [2] => param2
)

количество аргуметов переданных в консоли равно 3,
первым аргументом является путь до файла «C:\Apache24\htdocs\console.php»
вторым и третим — param1, param2

Установка composer

composer

Composer (getcomposer.org) — это инструмент для управления зависимостями в PHP. Он позволяет вам объявлять зависимые библиотеки для вашего проекта, устанавливать их и обновлять.

На официальном сайте getcomposer.org есть инструкция по его установке
для «Installation — Linux / Unix / OSX»
и для «Installation — Windows».

Перед скачиванием архива «composer.phar» убедитесь, что в конфигурационном файле «C:\php\php.ini» подключено расширение «php_openssl.dll».
(Для этого раскомментируйте строку «extension=php_openssl.dll»).

для того, чтобы скачать «composer.phar» выполните следующие команды

C:\Windows\system32>cd C:\Apache24\htdocs
C:\Apache24\htdocs>php -r "readfile('https://getcomposer.org/installer');" | php
#!/usr/bin/env php
All setting correct for using Composer
Downloading...
Composer successfully installed to: C:\Apache24\htdocs\composer.phar
Use it: php composer.phar

первой командой перейдем в директорию «C:\Apache24\htdocs»
второй командой скачаем архив «composer.phar» в эту директорию
Перевод:
Все настройки верны для использования Composer
Загрузка…
Composer успешно установлен: C:\Apache24\htdocs\composer.phar
Использовать: php composer.phar

создадим файл «composer.bat»

C:\Apache24\htdocs>echo @php "%~dp0composer.phar" %*>composer.bat 

после выполнения данной команды рядом с архивом «composer.phar» появится файл «composer.bat»

теперь находясь в директории где расположены файлы «composer.phar» и «composer.bat» можно выполнить следующие команды

C:\Apache24\htdocs>composer -V
Composer version 1.0-dev (xx...xx) 2015-xx-xx xx:xx:xx
C:\Apache24\htdocs>composer -h

первая команда выводит версию composer
вторая команда выводит справочную информацию

По итогам изучения данного материала мы осуществили настройку PHP для работы в командной строке, на практике рассмотрели примеры выполнения
PHP-кода и запуска PHP скриптов в командной строке. А также нами был выполнен процесс установки composer`a.

  • Physx legacy installer скачать для windows 10
  • Php windows нет php ini
  • Php mb convert encoding windows 1251
  • Php windows iconv windows 1251 utf 8
  • Php thread safe или non thread safe для windows