Как запустить программу PHP из командной строки на Windows-машине?

По профессии я разработчик PHP .

Я использую ноутбук Lenovo Ideapad, который работает в Windows 10 Home Single Language 64-разрядная операционная система

Я также установил XAMPP Control Panel v3.2.2 в папку «C: \ xampp» для выполнения программ PHP в веб-браузере на моей машине.

Файл «php.exe» присутствует в месте «C: \ xampp \ php» .

Корневой каталог документа для сохранения файлов PHP находится в папке «C: \ xampp \ htdocs» .

Я могу запускать созданные мной программы PHP и сохранять их в каталоге C: \ xampp \ htdocs \ html_playground , запустив программное обеспечение XAMPP (дважды щелкнув ярлык XAMPP на моем рабочем столе) и введя URL-адрес файла программы например, « http: //localhost/html_playground/sample.php » в адресной строке браузера.

Таким образом, я могу запустить программы PHP точно, но я хочу запустить ту же программу из командной строки Windows

Для этого я сделал следующие шаги:

  • Пошел на расширенные системные настройки (панель управления \ система и безопасность \ система \ расширенные системные настройки)
  • Затем нажмите « Переменные среды»
  • Затем выберите переменную Path
  • Затем нажмите кнопку « Изменить» …
  • Затем после окончания точки с запятой существующей строки я добавил строку «C: \ xampp \ php» , добавив пробел после точки с запятой.

Последняя новая строка выглядела следующим образом:

% USERPROFILE% \ AppData \ Local \ Microsoft \ WindowsApps; C: \ XAMPP \ PHP

  • Затем нажмите « ОК»
  • Открытая командная строка
  • Пошел по пути C: \ xampp \ htdocs \ html_playground в командной строке с помощью команды cd
  • Набрано в sample.php (файл, связанный с моей программой PHP)

Затем вместо отображения вывода программы он открыл тот же файл в Sublime Text (редактор, который я использую для написания кода)

Файл sample.php имеет следующий исполняемый код PHP :

<?php echo 'Hello World!'; ?> 

Для вашей справки я также прикрепляю экранный снимок окна командной строки:

Окно командной строки

Теперь мой вопрос:

  • Почему я не могу видеть вывод в командной строке или в веб-браузере?
  • Неужели я делаю какую-то ошибку или что?
  • Нужно ли начинать сервер XAMPP, как обычно, для запуска программы в веб-браузере для выполнения программы из командной строки?
  • Я допустил ошибку при настройке переменных среды?
  • Нужно ли устанавливать переменные среды? Если да, то почему? Если нет, то почему?
  • Поскольку PHP должен быть подходящим языком для веб-разработки, я думаю, что всегда полезно запускать программу в программном обеспечении веб-разработчика, т.е. в веб-браузере. Но я не понимаю, почему люди настаивают на том, чтобы запускать программы PHP из командной строки, а не запускать одну и ту же программу только из веб-браузера?

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

Даже я попытался перезагрузить ПК и запустить команду php -v, но это также не сработало. Ниже показан снимок экрана:

Вывод командной строки после перезапуска системы

Solutions Collecting From Web of "Как запустить программу PHP из командной строки на Windows-машине?"

Если вы хотите запустить CLI PHP, я бы настоятельно предложил установить php vanilla, найденный на windows.php.net . Пусть он устанавливается на C:\php . Причина, по которой я рекомендую это, заключается в том, что если вы когда-либо захотите использовать Composer (и у вас есть действительно хороший шанс), он найдет его там.

Теперь вы можете открыть командную строку и запустить скрипты, как показано ниже.

 C:\php\php.exe C:\path\to\php\script.php 

К вашим особенностям

  1. Why I'm not able to see the output at command prompt or a web browser? Потому что вывод отправляется в командную строку. Запросы браузера отправляются через веб-сервер в браузер
  2. Is it necessary to start the XAMPP server like I normally do to run the program from command prompt too? Для запросов CLI нет. PHP является исполняемым и может работать сам по себе. Если вы хотите выполнять запросы браузера, тогда XAMPP должен быть запущен.
  3. Is there really a need to set environment variables? If yes why? If no why? На самом деле, нет. CLI будет обращать внимание только на то, что php.ini XAMPP предназначены для Apache, в основном.
  4. But I'm not understanding the reason why people do insist for running the PHP programs from Command Line . Основная причина – автоматизированные задачи. У меня есть несколько процессов на работе, которые я запускаю на работу cron.

Пошаговое руководство по переменным путям в Windows 10

  1. Щелкните правой кнопкой мыши кнопку «Пуск» Windows , выберите « Система»

Щелкните правой кнопкой мыши кнопку «Пуск» Windows> «Система»

  1. Нажмите « Сведения о системе»

Нажмите «Сведения о системе»

  1. Нажмите « Дополнительные настройки системы»

Нажмите «Дополнительные настройки системы»

  1. Нажмите « Переменные среды»

Нажмите «Переменные среды»

  1. Выберите PATH в разделе « Системные переменные» и нажмите « Изменить» .

В разделе «Системные переменные» нажмите «PATH», затем нажмите «Изменить».

  1. Нажмите « Создать» , введите местоположение «Путь» для исполняемого файла

Нажмите «Создать», «Добавить путь» в исполняемый файл.

  1. Нажмите OK и APPLY на всех соответствующих панелях, затем перезагрузите компьютер .

введите описание изображения здесь

Шаг 1. Щелкните правой кнопкой мыши значок «Компьютер» на рабочем столе и выберите «Свойства».

Шаг 2. В окне «Система» нажмите «Дополнительные системные настройки» на левой панели.

Шаг 3: В окне «Свойства системы» выберите «Дополнительно» в горизонтальном меню вверху и нажмите кнопку «Переменные среды», указанную в нижней части окна.

Шаг 4: В следующем окне вызовите переменные среды, перейдите в Системную переменную (вторая сетка) и найдите переменную Path и нажмите Edit. Если переменная Path отсутствует, нажмите «Создать».

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

Шаг 5: Получите путь php, где вы установили XAMPP. Добавьте этот путь к значению переменной в появившемся маленьком диалоговом окне.

Шаг 6: Нажмите ОК и закройте все окна.

Шаг 7. Откройте командную строку с помощью cmd.

Шаг 8: cd to your_install_path / xampp / htdocs

Шаг 9: введите команду «php -i | Больше'

Шаг 10: Нет шага 10.

Откройте командную строку в том же каталоге, что и php.exe, и вызовите программу с аргументом файла, который вы хотите обработать.

C:\xampp\php\php.exe C:\xamp\htdocs\html_playground\test.php

Если test.php содержится; <?php echo "Hello World"; ?> <?php echo "Hello World"; ?> тогда командная строка выводит «Hello World» и возвращает стандартный пользовательский ввод CMD CLI.

Причина, по которой ваш вызов >php не работает, более чем вероятно из-за переменной среды PATH, не содержащей правильного расположения для PHP, отредактируйте системные переменные и добавьте 'C: \ xampp \ php \;' в строку PATH. Затем это должно позволить вам вызвать php C:\xamp\htdocs\html_playground\test.php для того же выхода, что и выше.

Поскольку вы установили XAMPP тогда вы можете запустить PHP из окна SHELL панели управления XAMPP v3.2.2

введите описание изображения здесь

В моем тестовом случае я использую небольшой файл index.php внутри каталога c:\xampp\htdocs\tester содержимое index.php :

 echo "This is output from command line "."\n"; if(!empty($argv)) { foreach($argv as $key => $arg) { if($key>0) { echo "command line argument ".$key ." ". $arg."\n"; } } } 

Просто введите следующее в окне командной строки.

 php C:\xampp\htdocs\tester\index.php var1=1 var2="lorem ipsum..." 

Вывод

введите описание изображения здесь

Вы можете увидеть вывод php кода в вашем браузере с помощью флага -S :

 php -S <host/ip>:<port> 

Чтобы протестировать его, создайте файл sample.php содержащий:

 <?php echo "Hello World from built-in PHP server"; 

и запустите команду php -S localhost:8080 из командной строки ( не включайте http: // ).

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

Откройте браузер и перейдите по адресу http: // localhost: 8080 . Вы должны увидеть страницу «Hello World».

Примечание. Мое предположение заключается в том, что вы находитесь в каталоге, где присутствует sample.php .

Простой, короткий и идеальный ответ для вас. Попробуйте хотя бы один раз, когда вы получите успех 🙂

Открыть C: \ xampp \ php (или ваш путь может отличаться в зависимости от того, где вы его установили)

Теперь запустите PHP.exe

теперь просто следуйте этому типу

 php -a 

и затем начните писать свой код.

например

 <?php echo "Hello, world!"; ?> 

Затем нажмите CTRL + Z, а затем Enter

Привет мир! // Вывод