Запустить php скрипт centos

Как запустить PHP-скрипт через командную строку?

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

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

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

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

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

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

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

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

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

Читайте также:  Collection new collection java

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

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

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

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

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

ssh -p 34716 usertest@109.95.210.219

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

Запуск 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
На скриншоте запуск скрипта через версию PHP 5.1.

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

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

Скрипт, используемый в качестве примера в данной статье, выводит информацию о версии и настройках 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

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

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

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

Источник

Как на CentOS запустить консольное приложение PHP?

В виндоусе я запускаю приложение на php через командную строку.
т.е. вызываю cmd.exe и туда пишу php /p/index.php
Программа работает непрерывно 5 суток.
Работающий компьютер оставлять не хочу.

Есть виртуальный сервер с ssh. CentOS

Как можно запустить на нем мое приложение на php.
Т.е. это именно консольное приложение, не браузерное.
Допустим через ssh я кое как его запущу, но мне же нужно будет закрыть окно ssh и что дальше?
Как так сделать чтобы его можно было запустить, потом через какое то время подключится к серверу и увидеть эту самую консоль что там все работает.
Типа удаленного рабочего стола.

И еще какие настройки нужно установить в php чтобы ничего не отрубилось (вские там таймауты, количество соединений с mysql, таймауты с mysql)?

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

screen -S myPHP
php myscript.php
жмешь ctrl+a и потом после ctrl+a жмешь d
так ты запустил в screen скрипт,
чтобы вернуться к скрипту пиши
screen -r myPHP

вместо myPHP и myscript пиши что своё

время выполнения скрипта — настройка max_execution_time в php.ini

xolnimda

так вот в консоле вроде не используется max_execution_time, скрипт работает бесконечно или я что то путаю?

xolnimda

asd111 вот только страховка не на пользу, там же браузерные еще скрипты работают. как потом отследить что зависло?)

xolnimda: попробуйте запустить скрипт в консоли sleep echo без изменения max_ex.._time. Если max_ex. _time не сработает значит все норм.
У MySQL есть настройка max connections — количество одновременных соединений, она по-моему обычно равна 100

Источник

Как использовать и выполнять PHP-коды в командной строке Linux — часть 1

PHP – это язык сценариев на стороне сервера с открытым исходным кодом, который первоначально обозначал Персональная домашняя страница, теперь означает PHP: препроцессор гипертекста, который является рекурсивной аббревиатурой. Это кроссплатформенный язык сценариев, на который сильно повлияли C, C++ и Java.

Синтаксис PHP очень похож на синтаксис языков программирования C, Java и Perl с некоторыми специфическими для PHP функциями. На данный момент PHP используется на некоторых 260 миллионах веб-сайтов. Текущая стабильная версия — версия PHP 5.6.10.

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

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

1. После установки PHP и Apache2 нам необходимо установить интерпретатор командной строки PHP.

# apt-get install php5-cli [Debian and alike System) # yum install php-cli [CentOS and alike System)

Следующее, что мы делаем, это проверяем php (если он установлен правильно или нет), как правило, путем создания файла infophp.php по адресу ‘/var/www/html‘. (рабочий каталог Apache2 в большинстве дистрибутивов) с содержимым , просто выполнив приведенную ниже команду.

# echo '' > /var/www/html/infophp.php

а затем укажите в браузере http://127.0.0.1/infophp.php, чтобы открыть этот файл в веб-браузере.

Те же результаты можно получить с терминала Linux без использования какого-либо браузера. Запустите файл PHP, расположенный по адресу ‘/var/www/html/infophp.php’ в командной строке Linux как:

# php -f /var/www/html/infophp.php

Так как вывод слишком велик, мы можем конвейеризировать приведенный выше вывод с помощью команды less, чтобы получить вывод на один экран за раз, просто так:

# php -f /var/www/html/infophp.php | less

Здесь опция «-f» анализирует и выполняет файл, следующий за командой.

2. Мы можем использовать phpinfo() , который является очень ценным инструментом отладки, непосредственно в командной строке Linux без необходимости вызывать его из файла, просто как:

Здесь опция «-r» запускает PHP-код в терминале Linux напрямую без тегов и > .

3. Запустите PHP в интерактивном режиме и посчитайте. Здесь опция -a предназначена для запуска PHP в интерактивном режиме.

# php -a Interactive shell php > echo 2+3; 5 php > echo 9-6; 3 php > echo 5*4; 20 php > echo 12/3; 4 php > echo 12/5; 2.4 php > echo 2+3-1; 4 php > echo 2+3-1*3; 2 php > exit

Нажмите «выход» или «ctrl+c», чтобы закрыть интерактивный режим PHP.

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

# echo -e '#!/usr/bin/php\n' > phpscript.php

Обратите внимание, что мы использовали #!/usr/bin/php в первой строке этого PHP-скрипта, как и в сценарии оболочки (/bin/bash). Первая строка #!/usr/bin/php указывает командной строке Linux проанализировать этот файл скрипта в интерпретаторе PHP.

Во-вторых, сделайте его исполняемым как:

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

Запустите интерактивный режим PHP.

Создайте функцию и назовите ее дополнением. Также объявите две переменные $a и $b.

php > function addition ($a, $b)

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

Определить правило(я). Здесь правило говорит добавить две переменные.

Все правила определены. Заключите правила, закрывая фигурные скобки.

Протестируйте функцию и добавьте цифры 4 и 3 просто так:

php > var_dump (addition(4,3));
Пример вывода

Вы можете запустить приведенный ниже код для выполнения функции столько раз, сколько хотите, с разными значениями. Замените a и b своими значениями.

php > var_dump (addition(a,b));
php > var_dump (addition(9,3.3));
Пример вывода

Вы можете запускать эту функцию до тех пор, пока не выйдете из интерактивного режима (Ctrl+z). Также вы могли заметить, что в приведенном выше выводе возвращен тип данных NULL. Это можно исправить, попросив интерактивную оболочку php вернуться вместо echo.

Просто замените оператор «echo» в приведенной выше функции на «return».

а остальные вещи и принципы остаются прежними.

Вот пример, который возвращает соответствующий тип данных на выходе.

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

Надеюсь, вам понравился этот сеанс. Оставайтесь на связи, чтобы получать больше таких сообщений. Оставайтесь с нами и будьте здоровы. Предоставьте нам свои ценные отзывы в комментариях. Ставьте лайки, делитесь нами и помогайте нам распространяться.

Источник

Оцените статью