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

Содержание:

  1. Как включить SSH-доступ?
  2. Как подключиться по SSH?
  3. Как запустить PHP-скрипт?

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

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

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

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

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

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

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

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

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

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

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

Примеры:
ssh -p 34716 [email protected]

ssh -p 34716 [email protected]

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

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

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

Пример:
php /var/www/usertest/data/www/fryhh. onhh.ru/info.php
Узнать какая версия PHP используется по умолчанию на сервер с Вашей услугой можно командой: 

php -v

В данном примере версией 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.

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

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

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

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

(к результатам работы применен фильтр через функцию grep по параметру memory_limit).

Если нам по каким-то причинам требуется запустить скрипт через определенную версию 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 Мб через панель хостинга. Запуск производился с опцией -n, опцией -d memory_limit=1000M, которая устанавливает значение параметра memory_limit на 1000 Мб и без дополнительных опций. К результатам вывода также применен фильтр через функцию grep по параметру memory_limit

.

Как запустить PHP-скрипт из SSH-консоли, чтобы он работал после закрытия вкладки? – Вопросы Timeweb Community

Мелодин Сергей Алексеевич

5592

4 ответа

Написал скрипт, разместил файлик на хостинге, исполнил в консоли команду:

php adress/bot/index. php — работает только, пока вкладка открытая. 

 

Прогуглил команду nohup с ключом & исполнил такие команды:

nohup php adress/bot/index.php &

nohup php adress/bot/index.php > /dev/null &

 

Но все они перестают работать при закрытии вкладки с консолью. Что-то так себе бот выходит 🙂

Как запустить демона, чтобы он работал всегда? 

PHP

Похожие вопросы

Артур

424

Не могу обновиться с версии Joomla 3.9.27 на 3.10.11 и сменить версию PHP 7.4 на 8.0

1 вопрос: Скачал файлы через VPN, пробую через консоль. Выдаёт при загрузке ошибку «500». Никак не могу обновить сайт. Пакеты есть, а сайт не хочет их принять. 2-й вопрос:  Сайт просит сменить версию PHP c 7.

4 на 8.0 и выше. Но…

Администрирование

Обсудить

Максим

448

Съезжает картинка, прошу помощи.

Здравствуйте, проблема с сайтом. После редактирования документа PHP, появилась проблема с корректным отображением карты ТЦ.  Проблемный 1й этаж. Но после перехода между разными этажами всё становится номально. <div><img…

Другое

1 ответ

Сергеев Дмитрий Яковлевич

608

Какой путь у файлов на хостинге?

Залил сайт на хостинг timeweb, но разметка вся исчезла.

Дело в путях взаимодействия файлов? Путь на локалхосте у файлов был один, а сейчас на хостинге он другой, так? Нужно ли прописывать в пути файла ‘public_html’? Если да, то ставится ли /public_html…

Разработка

1 ответ

отладка — Как запустить или отладить php в коде Visual Studio (VSCode)

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

Использование задач сборки

(расширения не требуются)

Сначала откройте палитру команд ( Ctrl + Shift + P в Windows, + Shift + P в Mac) и выберите «Задачи: Открыть задачи пользователя». Теперь скопируйте мою конфигурацию ниже в ваш файл tasks.

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

 {
    "версия": "2.0.0",
    "задания": [
        {
            "label": "Запустить сервер",
            "тип": "оболочка",
            "команда": "php -S localhost:8080 -t ${fileDirname}",
            "isBackground": правда,
            "группа": "сборка",
            "проблемматчер": []
        },
        {
            "label": "Запускать в браузере",
            "тип": "оболочка",
            "команда": "открыть http://localhost:8080/${fileBasename}",
            "окна": {
                "command": "проводник 'http://localhost:8080/${fileBasename}'"
            },
            "группа": "сборка",
            "проблемматчер": []
        },
        {
            "label": "Запустить в терминале",
            "тип": "оболочка",
            "команда": "php ${файл}",
            "группа": "нет",
            "проблемматчер": []
        }
    ]
}
 

Если вы хотите запустить свой php-файл в терминале, откройте палитру команд и выберите «Задачи: Запустить задачу», а затем «Запустить в терминале».

Если вы хотите запустить свой код на веб-сервере, который отвечает веб-браузеру, откройте палитру команд и выберите «Задачи: Запустить задачу», а затем «Запустить сервер», чтобы запустить встроенный сервер PHP, затем «Запустить В браузере», чтобы запустить текущий открытый файл из вашего браузера.

Обратите внимание: если у вас уже есть работающий веб-сервер, вы можете удалить Запустите задачу Server и обновите часть localhost:8080 , чтобы она указывала на любой URL-адрес, который вы используете.

Использование отладки PHP

Примечание. Этот раздел был в моем первоначальном ответе. Первоначально я думал, что он работает без PHP Debug, но похоже, что PHP Debug фактически выставляет тип php в конфигурации запуска. Нет причин использовать его вместо метода задачи сборки, описанного выше. Я держу это здесь на случай, если это будет полезно.

Скопируйте следующую конфигурацию в свои пользовательские настройки:

 {
    "запуск": {
        "версия": "0. 2.0",
        "конфигурации": [
            {
                "тип": "php",
                "запрос": "запустить",
                "name": "Запустить, используя исполняемый файл PHP",
                "программа": "${файл}",
                "runtimeExecutable": "/usr/bin/php"
            }
        ]
    }
    // все остальные ваши пользовательские настройки...
}
 

Создает глобальную конфигурацию запуска, которую можно использовать для любого файла PHP. Обратите внимание на исполняемый файл runtimeExecutable 9.вариант 0034. Вам нужно будет обновить это, указав путь к исполняемому файлу PHP на вашем компьютере. После того, как вы скопируете приведенную выше конфигурацию, всякий раз, когда у вас открыт файл PHP, вы можете нажать клавишу F5, чтобы запустить код PHP и отобразить вывод в терминале vscode.

Как запускать PHP-код на вашем ПК

Вы хотите запускать PHP-код на своем ПК? Этот урок научит вас всему.

PHP — это серверный язык сценариев, поэтому его нельзя запустить, просто открыв в браузере.

Для запуска PHP-кода на вашем ПК нужны две вещи.

  1. Локальный веб-сервер  программное обеспечение с Apache , MySQL и PHP  поддержка,
  2. Текстовый редактор  например  Код Visual Studio .

Примечание: Вы можете использовать любой текстовый редактор с поддержкой PHP.

Теперь давайте посмотрим, как настроить, установить и запустить код PHP на вашем ПК.

Как запустить PHP Code

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

К счастью, у нас есть стороннее программное обеспечение, доступное в Интернете, такое как XAMPP, WAMP, MAMP и т. д. Эти приложения могут значительно упростить вам работу по запуску PHP.

Мы будем использовать XAMPP для создания локального веб-сервера. Причина, по которой я предпочитаю XAMPP, заключается в том, что мы можем запускать XAMPP в нескольких операционных системах, таких как Windows, MAC, Linux и т. д. Кроме того, у него больше возможностей.

Итак, начнем с первого шага.

Шаг 1: Установите XAMPP, запустите Apache и MySQL

XAMPP — это программное обеспечение, которое можно использовать для создания локального веб-сервера на вашем ПК. Используя XAMPP, вы можете запустить сервер Apache, необходимый для запуска и выполнения кода PHP.

В Интернете доступны другие приложения для веб-серверов, такие как WAMP, MAMP и т. д. Но мы выбираем XAMPP, потому что это программное обеспечение с открытым исходным кодом, доступное для более чем одной операционной системы. Он доступен для Windows, Linux и MAC OS.

Чтобы установить XAMPP, посетите веб-сайт apachefriends.org. Затем загрузите и установите XAMPP на свой компьютер.

После установки XAMPP на ПК откройте его. Затем запустите Apache и MySQL, как показано на рисунке ниже. MySQL — это сервер базы данных, это не обязательно. Потому что в этом уроке мы не будем говорить о базе данных MySQL. Мы поговорим о базе данных MySQL в наших последующих руководствах по PHP.

Таким образом, вы можете запускать Apache, только если хотите.

Готово! вы успешно создали локальный веб-сервер на своем ПК. Но ждать! Как вы можете получить к нему доступ в своем браузере?

Каждый веб-сервер имеет IP-адрес и имя хоста. Так как этот сервер находится на нашем локальном компьютере. Итак, для XAMPP по умолчанию имя нашего хоста — localhost , а IP-адрес нашего локального хоста — 127.0.0.1 .

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

Вы увидите страницу «Добро пожаловать в XAMPP». Это означает, что на вашем ПК работает локальный веб-сервер или XAMPP.

Шаг 2. Разместите папку проекта на локальном сервере

На работающем веб-сервере файлы вашего веб-сайта (также известные как файлы вашего проекта) расположены в каталогах (имеются в виду папки). Так же, как файлы и папки на вашем компьютере. Здесь, чтобы запустить код PHP в XAMPP, файлы вашего веб-сайта будут храниться в папке htdocs , которая находится в папке XAMPP.

Для этого вам нужно скопировать и вставить папку вашего проекта PHP в папку «htdocs», как показано на изображении ниже, и создать внутри нее папку с любым именем.

Здесь будут храниться ваши файлы HTML, CSS, JS и PHP. Файлы PHP, которые вы собираетесь создать на следующем шаге, также будут храниться в этой папке.

Итак, теперь у вас есть веб-сервер, работающий на вашем ПК. Пришло время создать файл PHP и выполнить код PHP в нашем браузере. Итак, давайте посмотрим на основной шаг.

Шаг 3. Создайте файл PHP для запуска кода PHP

Я использую Visual Studio Code для создания файла PHP. Вы можете скачать этот текстовый редактор с их сайта, это бесплатно.

Перед созданием файла PHP откройте папку htdocs и создайте в ней новую папку. Вы можете дать ему любое имя. Это папка, в которой находятся файлы вашего веб-сайта или проекта. Как вы можете видеть на изображении ниже, я дал ему имя тестовый сайт .

Вы можете получить доступ к этой папке в браузере, введя localhost/ testwebsite.

После этого откройте код Visual Studio и откройте эту папку в текстовом редакторе, как показано ниже.

Затем создайте файл PHP и назовите его sample.php .

После этого напишите код в этом файле. Вы можете скопировать/вставить код, указанный ниже.

  эхо  «Привет, мир»;
  
  ?>
  

Это будет выглядеть так, как показано на рисунке ниже.

Это простая программа hello world, которую мы запустим на вашем компьютере.

Теперь мы создали файл PHP и написали в нем некоторый код. Теперь вы можете запустить PHP в своем браузере.

Шаг 4. Выполните или запустите PHP-код в браузере

Для этого откройте браузер и введите в строке поиска localhost/testwebsite/sample. php . И нажмите Enter. Это откроет файл PHP и запустит скрипт PHP в вашем браузере.

Согласно нашему коду. Программа «Hello World» была выполнена. См. изображение ниже.

Вот и все. Теперь вы знаете, как запускать PHP-код на своем ПК. И вы можете создавать и запускать столько файлов PHP, сколько захотите.

Что нужно помнить перед запуском PHP-кода:

  • Всякий раз, когда вы хотите запустить PHP-код, всегда проверяйте, работает ли XAMPP с Apache и MySQL.
  • Папка вашего проекта, содержащая файлы PHP, должна быть помещена в папку «htdocs», которая находится в папке установки XAMPP.
  • Всякий раз, когда вы устанавливаете XAMPP на свой компьютер, просто убедитесь, что вы выбрали место по умолчанию для установки XAMPP, которое обычно находится на диске C. Во избежание ошибок.

Что дальше?  Теперь вы должны изучить переменные PHP. Переменные — это контейнеры для хранения данных. Это руководство поможет вам понять концепции, лежащие в основе переменных.