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

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

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

Я также установил Панель управления XAMPP 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

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

  • Пошел в Пошел в Расширенные системные настройки (Панель управления \ Система и безопасность \ Система \ Расширенные настройки системы)
  • Затем нажал на Переменные среды
  • Затем выбрал переменную Дорожка
  • Затем нажал Редактировать… кнопка
  • Затем после конечной точки с запятой существующей строки я добавил строку «C: \ XAMPP \ PHP» добавив пустое пространство после точки с запятой.

Последняя новая строка выглядела так:

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

  • Затем нажал на Хорошо
  • открытый командная строка
  • Пошел на путь C: \ XAMPP \ HTDOCS \ html_playground в командной строке с помощью CD команда
  • Напечатано в sample.php(Файл, содержащий мою PHP-программу)

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

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

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

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

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

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

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

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

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

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

3

Решение

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

Теперь вы можете открыть командную строку и запустить сценарии следующим образом

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

Другие решения

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


Обновить:

Перейти к шагу 4 по щелкнув левой кнопкой мыши Кнопка Пуск Windows а затем сразу введите system env, поиск Windows предложит Edit the system environment variablesНажмите эту кнопку и перейдите к шагу 4.


  1. Щелкните правой кнопкой мыши Windows Start Кнопка, Выбрать система

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

  1. Нажмите на Системная информация

Нажмите на информацию о системе

  1. Нажмите на Расширенные системные настройки

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

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

Нажмите на переменные среды

  1. Выбрать ДОРОЖКА под Системные переменные затем нажмите редактировать.

Под Системными Переменными, нажмите на ПУТЬ, затем нажмите Редактировать

  1. Нажмите новый, Введите путь к исполняемому файлу

Нажмите Новый, Добавить путь к исполняемому файлу.

  1. Нажмите Хорошо а также ПРИМЕНЯТЬ на всех применимых панелях перезагрузите компьютер.

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

9

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

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

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

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

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

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

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

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

Шаг 8: перейдите к your_install_path / xampp / htdocs

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

Шаг 10: Там нет шага 10.

3

Ты можешь видеть 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: // локальный: 8080. Вы должны увидеть страницу «Hello World».

Замечания: Я предполагаю, что вы находитесь в каком каталоге, где sample.php подарок. Если в случае port:8080 уже используется, вы можете использовать любой другой порт, как 80, 8000,

2

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

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

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

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

1

Поскольку вы установили XAMPP тогда вы можете бежать PHP от РАКУШКА окно Панель управления 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..."

Выход

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

1

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

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

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

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

php -a

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

например

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

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

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

-2
По вопросам рекламы [email protected]