Cookie

Быстро запустите веб-сервер с помощью PHP

Опубликовано TheJoe на

Приблизительное время чтения: 3 минут

меня не было дома вчера… и я вспомнил, что у меня на NAS есть важный файл, дома. Я могу получить доступ к своему NAS через активированную мной VPN., но документ найден по пути, который я тогда не запомнил, вместо этого, среди немногих вещей, которые я запомнил, было то, что имя файла было общим прогрессивным именем., поэтому не очень полезно, если вам придется искать его в командной строке. Что делать?

PHP — это язык программирования с множеством функций. Хотя я не умею программировать на PHP., Я вспомнил функцию, которая мне очень пригодилась в данном случае. Это команда терминала, которая позволяет запустить веб-сервер с включенным интерпретатором PHP.. Нам не нужно устанавливать Apache, Нгинкс или что-то еще… PHP будет достаточно.

Ты не веришь этому?

хорошо, А пока приступим к установке последней версии PHP. (В качестве примера возьмем Debian или производный дистрибутив. (но PHP можно установить в любом дистрибутиве):

$ sudo apt install php8

В конце установки у нас будет установлен наш PHP.. Давайте проверим версию с помощью следующей команды:

$ php --version
PHP 8.0.30 (cli) (built: Aug 23 2023 12:00:00) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies

хорошо: PHP установлен и готов к использованию. Обратите внимание, что мы не установили веб-сервер. (апаш, Нгинкс или что-то еще), но только интерпретатор PHP.

Теперь давайте запустим сервер разработки одной командой.:

# php -S 0.0.0.0:4000

Эта команда (запускать от имени администратора) открывается для всех входящих соединений на порту 4000 в каталоге, в котором мы находимся. Заходим в браузер и набираем IP сервера. Посмотрим, сработает ли это:

Ошибка 404 не найден. Давайте проверим терминал:

[Sat Jan 27 17:27:42 2024] PHP 8.0.30 Development Server (http://0.0.0.0:4000) started
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 Accepted
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 [404]: GET / - No such file or directory
[Sat Jan 27 17:27:44 2024] xxx.xxx.xxx.xxx:49893 Closing

Из терминала видим классическую отладку происходящего в браузере. Я сделал запрос на корневой каталог “/“. Это не закончилось хорошо (потому что у меня нет файла index.php в каталоге Quella), но мне плевать, потому что сервер запустился и ошибка 404 это значит, что он работает так, как должен.

Смотри сюда:  команда "экран" для эмуляции нескольких сеансов оболочки

Вместо этого я хотел бы перечислить содержимое каталога как в репозитории и рекурсивно все подкаталоги.. Просматривая онлайн-ресурсы, я нашел небольшой проект, размещенный на GitHub.: Крошечный файловый менеджер. Это единственный PHP-файл, в котором перечислено содержимое каталога, в котором он расположен, и рекурсивно все дочерние каталоги.. Обратите внимание, что он поддерживает две разные аутентификации. (с правами администратора и без них) и поддерживает загрузку и скачивание файлов. Проект хорошо документирован, установка проста, а результат гарантирован. У него есть небольшие пристрастия:

$ sudo apt install php8-fileinfo php8-iconv php8-zip php8-tar php8-mbstring

Заключительные мысли

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

Я думаю, то же самое можно сделать, но без интерпретатора PHP с Python… я должен проверить.


TheJoe

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

0 Комментарии

оставьте ответ

Заполнитель аватара

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатывается комментарий данных.