Php запуск консольной команды windows

В CLI SAPI есть три различных способа запуска PHP-кода:

  1. Указание конкретного файла для запуска.

    $ php my_script.php
    
    $ php -f my_script.php
    

    Оба способа (с указанием опции -f или без) запустят
    файл my_script.php. Нет ограничений, какой
    файл запускать; в частности, файлы не обязаны иметь
    расширение .php.

  2. Передать PHP-код напрямую в командной строке.

    $ php -r 'print_r(get_defined_constants());'
    

    Необходимо быть особо осторожным при использовании этого способа,
    т.к. может произойти подстановка переменных оболочки при использовании
    двойных кавычек.

    Замечание:

    Внимательно прочтите пример: в нем нет открывающих и закрывающих тегов!
    Опция -r просто в них не нуждается, и их использование
    приведёт к ошибке разбора.

  3. Передать запускаемый PHP-код через стандартный поток ввода
    (stdin).

    Это даёт мощную возможность создавать PHP-код и
    передавать его запускаемому файлу, как показано в этом
    (вымышленном) примере:

    $ some_application | some_filter | php | sort -u > final_output.txt
    

Вы не можете комбинировать любой из этих трёх способов запуска кода.

Как и любое другое консольное приложение бинарный файл PHP
принимает аргументы, но PHP-скрипт также получает
аргументы. PHP не ограничивает количество аргументов,
передаваемых в скрипт (оболочка консоли устанавливает
некоторый порог количества символов, которые могут передать;
обычно этого лимита хватает). Переданные аргументы доступны
в глобальном массиве $argv. Первый индекс
(ноль) всегда содержит имя вызываемог из командной
строкио скрипта. Учтите, что если код вызывается из командной
строки на лету с опцией -r, значением
элемента $argv[0] будет «Стандартный поток» (Standard input code);
до PHP 7.2.0 это был дефис ("-"). То же самое верно и для кода,
переданного через конвейер из STDIN.

Вторая зарегистрированная глобальная переменная —
$argc, которая содержит количество элементов
в массиве $argv
не количество аргументов,
которые передали скрипту).

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

# Эта команда не запустит данный код, но покажет информацию об использовании PHP
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# Эта команда передаст аргумент '-h' в скрипт, предотвратив показ справки PHP
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

Однако, в Unix-системах есть ещё один способ использования
PHP для консольных скриптов. Можно написать скрипт,
первая строка которого будет начинаться с
#!/usr/bin/php (или же другой
корректный путь к бинарному файлу PHP CLI).
После этой строки можно поместить обычный PHP-код, заключённый
в открывающие и закрывающие теги PHP. Как только будут установлены
корректные атрибуты запуска на файл (например,
chmod +x test), скрипт может быть
запущен как обычный консольный или perl-скрипт:

Пример #1 Запуск PHP-скрипта как консольного

#!/usr/bin/php
<?php
var_dump
($argv);
?>

Предполагая, что этот файл назван test
и находится в текущей директории, можно сделать следующее:

$ chmod +x test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}

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

Исполняемый PHP-файл может использоваться для запуска PHP-скриптов
независимо от веб-сервера. В случае работы в Unix-подобной системе,
необходимо добавить в первую строку файла #! (называемый также «shebang»)
чтобы указать, какая из программ должна запускать скрипт.
На Windows-платформах можно назначить обработчик php.exe для файлов
с расширениями .php или создать пакетный
(.bat) файл для запуска скриптов посредством PHP.
Строка, добавляемая в начале скрипта для Unix-систем,
не влияет на их работу в ОС Windows, таким образом можно
создавать кросс-платформенные скрипты. Ниже приведён простой
пример скрипта, который выполняется из командной строки:

Пример #2 Скрипт для запуска из командной строки (script.php)

#!/usr/bin/php
<?phpif ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) {
?>

Это консольный PHP-скрипт, принимающий один аргумент.

Использование:
<?php echo $argv[0]; ?> <option>

<option> Любое слово, которое вы хотели бы
напечатать. Опции --help, -help, -h,
или -? покажут текущую справочную информацию.

<?php
} else {
echo
$argv[1];
}
?>

В приведённом выше скрипте в первой строке содержится shebang,
указывающий что этот файл должен запускаться PHP. Работа ведётся с CLI-версией,
поэтому не будет выведено ни одного HTTP-заголовка.

Скрипт сначала проверяет наличие обязательного одного аргумента (в дополнение к
имени скрипта, который также подсчитывается). Если их нет, или если переданный
аргумент был —help, -help,
-h или -?, выводится
справочное сообщение с использованием $argv[0], которое содержит
имя выполняемого скрипта. В противном случае просто выводится полученный аргумент.

Для запуска приведённого примера в Unix-системе, нужно сделать
его исполняемым и просто выполнить в консоли
script.php echothis или
script.php -h. В Windows-системе можно
создать пакетный файл:

Пример #3 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)

@echo OFF
"C:\php\php.exe" script.php %*

Предполагая, что вышеприведённый скрипт называется
script.php, а полный путь к CLI
php.exe находится в
C:\php\php.exe, этот пакетный файл
запустит его с переданными параметрами:
script.bat echothis или
script.bat -h.

Также можно ознакомиться с модулем
Readline для получения
дополнительных функций, которые можно использовать для улучшения
консольного PHP-скрипта.

В Windows запуск PHP можно настроить без
необходимости указывать C:\php\php.exe или
расширение .php.
Подробнее эта тема описана в разделе
Запуск PHP из
командной строки в Microsoft Windows.

Замечание:

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

Нашли ошибку?

php at richardneill dot org

12 years ago

On Linux, the shebang (#!) line is parsed by the kernel into at most two parts.
For example:

1: #!/usr/bin/php
2: #!/usr/bin/env php
3: #!/usr/bin/php -n
4: #!/usr/bin/php -ddisplay_errors=E_ALL
5: #!/usr/bin/php -n -ddisplay_errors=E_ALL

1. is the standard way to start a script. (compare "#!/bin/bash".)

2. uses "env" to find where PHP is installed: it might be elsewhere in the $PATH, such as /usr/local/bin.

3. if you don't need to use env, you can pass ONE parameter here. For example, to ignore the system's PHP.ini, and go with the defaults, use "-n". (See "man php".)

4. or, you can set exactly one configuration variable. I recommend this one, because display_errors actually takes effect if it is set here. Otherwise, the only place you can enable it is system-wide in php.ini. If you try to use ini_set() in your script itself, it's too late: if your script has a parse error, it will silently die.

5. This will not (as of 2013) work on Linux. It acts as if the whole string, "-n -ddisplay_errors=E_ALL" were a single argument. But in BSD, the shebang line can take more than 2 arguments, and so it may work as intended.

Summary: use (2) for maximum portability, and (4) for maximum debugging.

email at alexander-bombis dot de

4 years ago

For Windows:

After the years I also have the fact that I have to use double quotation marks after php -r on Windows shell.

But in the Powershell you can use single or double quotation!

gabriel at figdice dot org

8 years ago

Regarding shebang:

In both Linux and Windows, when you execute a script in CLI with:

php script.php

then PHP will ignore the very first line of your script if it starts with:

#!

So, this line is not only absorbed by the kernel when the script file is executable, but it is also ignored by the PHP engine itself.

However, the engine will NOT ignore the first #! line of any included files withing your "outer" script.php.
Any "shebang" line in an included script, will result in simply outputting the line to STDOUT, just as any other text residing outside a <?php ... ?> block.

david at frankieandshadow dot com

8 years ago

A gotcha when using #!/usr/bin/php at the start of the file as noted above:

if you originally edited the file on Windows and then attempt to use it on Unix, it won't work because the #! line requires a Unix line ending. Bash gives you the following error message if it has DOS line endings:
"bash: /usr/local/bin/wpreplace.php: /usr/bin/php^M: bad interpreter: No such file or directory"

(In Emacs I used "CTRL-X ENTER f" then type "unix" and ENTER to convert)

spencer at aninternetpresence dot net

13 years ago

If you are running the CLI on Windows and use the "-r" option, be sure to enclose your PHP code in double (not single) quotes. Otherwise, your code will not run.

В данном материале мы рассмотрим такие вопросы как: настройка 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 (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.

Last Updated :
13 Sep, 2024

PHP Installation for Windows Users

Follow the steps to install PHP on the Windows operating system.

Step 1:

First, we have to download PHP from its official website. We have to download the .zip file from the respective section depending upon our system architecture(x86 or x64).

Step 2:

Extract the .zip file to your preferred location. It is recommended to choose the Boot Drive(C Drive) inside a folder named php (ie. C:\php).

Step 3:

  • Access System Properties: Right-click on the “My Computer” or “This PC” icon, select “Properties” from the context menu, then click on “Advanced system settings.”
  • Open Environment Variables: In the System Properties window, click on the “Environment Variables” button.
  • Edit the PATH Variable: In the “System Variables” section, find the “PATH” variable, select it, and click “Edit.” If it doesn’t exist, click “New” to create it.
  • Add PHP Path and Save: In the “Edit System Variable” window, add the path to your PHP folder (e.g., C:\php). Click “OK” to save, and close all remaining windows by clicking “OK.”

php-ev-var-setup

PHP Installation for Linux Users

Linux users can install php using the following command.

apt-get install php5-common libapache2-mod-php5 php5-cli

It will install php with apache server.

PHP Installation for Mac Users

Mac users can install php using the following command.

curl -s https://php-osx.liip.ch/install.sh | bash -s 7.3

It will install php in your system.

After installation of PHP, we are ready to run PHP code through command line. You just follow the steps to run PHP program using command line.

  • Open terminal or command line window.
  • Goto the specified folder or directory where php files are present.

Then we can run php code using the following command:

php file_name.php

php_inline_output

We can also start server for testing the php code using the command line by the following command:

php -S localhost:port -t your_folder/

php_server_output

Note: While using the PHP built-in server, the name of the PHP file inside the root folder must be index.php, and all other PHP files can be hyperlinked through the main index page.

PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.

A PHP script can be executed from the command line even without having any web server software installed.

To run the PHP script from the command line you should just have a PHP CLI (PHP Command Line Interface) installed on your system.

This note shows how to run the PHP script from the command line and how to get the PHP CLI installed on Windows, Linux and MacOS.

Cool Tip: How to find the location of the php.ini file! Read more →

Let’s say we have a script.php file with the simplest PHP code:

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

To run the script.php from the command line, execute:

$ php script.php
- sample output -
Hello World!

Install PHP CLI

The messages as follows mean you are missing the php-cli on your system and should install it first to be able to run the PHP scripts from the command line:

‘php’ is not recognized as an internal or external command,
operable program or batch file
– or –
php: command not found

To check whether php-cli is installed, execute:

$ php -v
- sample output -
PHP 7.4.3 (cli) (built: Nov 25 2021 23:16:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

MacOS comes with PHP installed out of the box.

To install php-cli on Linux:

$ sudo apt install php-cli

To install PHP on Windows, download a ZIP package with the required version, extract it to C:\php and add this folder to a %PATH% environment variable.

For this, press the ⊞ Win keybutton to open the start menu and type in envi to search for “Edit the system environment variables” or “Edit environment variables for your account” links.

Start the editor, search for the Path variable name, click on “Edit” and add C:\php.

To create the default PHP’s configuration file, that is initially missing on Windows, copy C:\php\php.ini-development to C:\php\php.ini:

C:\> copy C:\php\php.ini-development C:\php\php.ini

Finally, after getting the PHP installed, you should be able to run the script.php from the command line without any issues.

C:\> php script.php
- sample output -
Hello World!

Was it useful? Share this post with the world!

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

Также это позволит обойти ограничение времени работы скриптов при запуске их через браузер, которое есть на всех хостингах (делается это для того, чтобы некорректно написанные скрипты, например зацикленные, не могли нарушить работу сервера в целом) — скрипт будет работать, пока достаточно ресурсов на услуге хостинга.

Подключить SSH-доступ

1. Чтобы иметь возможность запустить PHP скрипт из командной строки, необходимо иметь услугу хостинга с активным SSH-доступом. Проверить, активен ли SSH-доступ у Вас, можно в панели хостинга в разделе «Инструменты». Если при открытии данного раздела есть пункт «Shell-клиент», то SSH-доступ на Вашей услуге хостинга открыт.

Shell-клиент в панели управления ISPmanager

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

Подключение по SSH

2. После получения SSH-доступа, подключимся к нашей услуге через любой SSH-клиент.

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

Команды для подключения через терминал Linux или утилиту PowerShell Windows будет иметь следующий вид:

ssh -p 34716 логин@имя или IP-адрес сервера.

Логином служит имя пользователя от панели хостинга.

Примеры:
ssh -p 34716 usertest@fry.handyhost.ru

ssh -p 34716 usertest@109.95.210.219

Подключение по SSH

После подключения можем приступать к запуску.

Запуск PHP-скрипта

3. Самый простой вариант — команда вида php/путь/к/скрипту. Такая команда запустит указанный Вами скрипт через нативную версию PHP (системную версию PHP, которая по умолчанию устанавливалась для ОС сервера с Вашей услугой хостинга), с теми настройками, которые установлены на сервере по умолчанию.

Пример:
php /var/www/usertest/data/www/fryhh.onhh.ru/info.php

Как запустить PHP-скрипт на хостинге через терминал

Узнать какая версия PHP используется по умолчанию на сервер с Вашей услугой можно командой: php -v

Как узнать какая версия PHP на хостинге в терминале

В данном примере версией PHP, используемой по умолчанию является версия 7.3.

4.  Для запуска через конкретную версию PHP указать в нашей команде путь к сборке PHP соответствующей версии. Команда будет иметь вид:
/opt/alt/phpXX/usr/bin/php/путь/к/скрипту
Примеры:
/opt/alt/php53/usr/bin/php /var/www/usertest/data/www/fryhh.onhh.ru/info.php
/opt/alt/php72/usr/bin/php /var/www/usertest/data/www/fryhh.onhh.ru/info.php
/opt/alt/php81/usr/bin/php /var/www/usertest/data/www/fryhh.onhh.ru/info.php

Список доступных сборок:
/opt/alt/php51/usr/bin/php
/opt/alt/php52/usr/bin/php
/opt/alt/php53/usr/bin/php
/opt/alt/php54/usr/bin/php
/opt/alt/php55/usr/bin/php
/opt/alt/php56/usr/bin/php
/opt/alt/php70/usr/bin/php
/opt/alt/php71/usr/bin/php
/opt/alt/php72/usr/bin/php
/opt/alt/php73/usr/bin/php
/opt/alt/php74/usr/bin/php
/opt/alt/php80/usr/bin/php
/opt/alt/php81/usr/bin/php
/opt/alt/php82/usr/bin/php

На скриншоте запуск скрипта через версию PHP 5.1.

запуск скрипта через версию PHP 5.1 в терминале

5. Важно — если в настройки той версии PHP, через которую запускается скрипт, были внесены изменения через панель хостинга, то скрипт также запустится с этими настройками PHP.

Скрипт, используемый в качестве примера в данной статье, выводит информацию о версии и настройках PHP, через которые он запущен.

На скриншоте показаны результаты его запуска через нативную версию PHP 7.4, для которой значение параметра memory_limit менялось и версию PHP 7.2, для которой изменения настроек не производилось (к результатам работы применен фильтр через функцию grep по параметру memory_limit).

результаты запуска скрипта через нативную версию PHP 7.4 в терминале

Если нам по каким-то причинам требуется запустить скрипт через определенную версию PHP с настройками, отличающимися от тех, что заданы для этой версии через панель, то можно использовать опцию -n не будут учитываться никакие ini-файлы и соответственно внесенные через панель изменения, либо опцию -d для переопределения конкретной директивы.

Примеры:
/opt/alt/php74/usr/bin/php -d memory_limit=1000M /var/www/usertest/data/www/fryhh.onhh.ru/info.php

/opt/alt/php74/usr/bin/php -n /var/www/usertest/data/www/fryhh.onhh.ru/info.php

результаты запуска скрипта через PHP 7.4 с memory_limit на 350 Мб

На скриншоте показаны результаты запуска скрипта через PHP 7.4, для которой значений параметра memory_limit установлено на 350 Мб через панель хостинга. Запуск производился с опцией -n, опцией -d memory_limit=1000M, которая устанавливает значение параметра memory_limit на 1000 Мб и без дополнительных опций. К результатам вывода также применен фильтр через функцию grep по параметру memory_limit.

Купить хостинг на PHP можно на нашем сайте.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как удалить майнер с компа полностью windows 11
  • Как убрать с рабочего стола надпись активация windows 10 навсегда
  • Разрешить windows исправлять размытость в приложениях стоит ли включать
  • Служба узла superfetch windows 10
  • Где найти драйвера блютуз на компьютере на windows 10