AidSoul
3.6K
3 комментария
USBWebserver – самый маленький веб-сервер с поддержкой с Apache, PHP, MySQL и PHPMyAdmin для Windows. Его можно перенести на любой цифровой носитель информации (SD-карту, флешку, диск) и запустить.
Состав сборки с PHP 7.4:
Состав сборки с PHP 8.0:
Состав сборки с PHP 8.1:
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
PHP |
cloud.mail.ru |
GitHub |
PHP-7.4 |
https://cloud.mail.ru/public/9ZjY/V2WNVS4fX |
php/7.4 |
PHP-8.0 |
https://cloud.mail.ru/public/S6QR/nmcUMcxc5 |
php/8.0 |
PHP-8.1 |
https://cloud.mail.ru/public/D8vz/upQCZgg5z |
php/8.1 |
Сборку можно скачать с помощью github.
git clone https://github.com/aidsoul/USBWebServer -b
Также можно добавить в конец строки конкретную версию. Пример:
git clone https://github.com/aidsoul/USBWebServer -b php/7.4
Вы можете изменить настройки программы и сервера, перейдя во вкладку «Settings», или отредактировать их вручную – все файлы настроек находятся в папке « Для редактирования настроек PHP используйте файл my.ini.
Администрирование
echo -e «Все про серверы, сети, хостинг и еще раз серверы» >/dev/pts/0
Начиная с версии 5.4.0, язык программирования PHP содержит встроенный веб-сервер (server), который находится в модуле CLI SAPI. В этой статье мы поговорим, как он работает, настраивается и запускается. Отдельное внимание уделим известному web-серверу Apache.
В языке программирования PHP сервер (_server) выполняет лишь один однопоточный процесс, поэтому если запрос будет заблокирован, программные приложения остановятся, причем запросы URL обслуживаются из текущей директории, где он был запущен (когда не используется опция -t, обеспечивающая явное указание корневого документа). Если URL запроса не указывает на конкретный файл, в указанной директории вернется index. php или index.html. Если же файлы не существуют, их поиск продолжится в родительской директории и т. д., причем до тех пор, пока файлы не будут обнаружены либо не будет достигнут корень документа. Когда обнаружен index.php/index.html, он возвращается, причем в $_SERVER[‘PATH_INFO’] будет последняя часть URL. В обратном случае вернется код 404.
Если в процессе запуска web сервера файл PHP указывается в командной строке, он рассматривается в качестве скрипта «маршрутизации» (как роутер). Этот скрипт выполняется лишь в начале каждого запроса HTTP. Если же скрипт возвращает false, тогда запрашиваемый ресурс возвращается как есть. В обратном случае браузеру вернется вывод скрипта.
Разработчик может настроить встроенный PHP web server таким образом, чтобы он осуществлял разветвление нескольких воркеров в целях проверки кода, требующего нескольких одновременных запросов ко встроенному веб серверу. Для этого, начиная с версии 7.4.0, надо задавать в переменной окружения число требуемых воркеров, делая это перед запуском:
Данная функция является экспериментальной. Она не поддерживается в операционной системе Windows и не предназначена для использования в production. Да и вообще, встроенный web_server обычно не предназначен для того, чтобы использовать его в production.
Запуск осуществляется следующим образом:
$ cd ~/public_html
$ php -S localhost:8000
В результате в консоли будет приблизительно такой вывод:
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit
После этого пишем URL-запрос:
— http://localhost:8000/;
— http://localhost:8000/myscript.html.
По итогу в консоли будет выведено примерно следующее:
Можно отметить, что до версии 7.4.0 статические ресурсы с символическими ссылками в операционной системе «Виндовс» доступны не были.
Теперь давайте выполним запуск, указав корневую директорию:
$ cd ~/public_html
$ php -S localhost:8000 -t foo/
Вывод в консоли:
В примере ниже используется скрипт маршрутизации. Запросы изображений будут их отображать, однако запросы файлов HTML вернут строку «Добро пожаловать».
Обратите внимание, что встроенный web _server не должен применяться в общедоступной сети.
Чтобы обеспечить совместное использование скрипта маршрутизации при разработке с CLI _server и далее с рабочим (production) web-сервером, применяют следующую команду:
Если требуется обслуживание статических ресурсов с MIME-типами, не поддерживаемыми web CLI _server, пригодится следующий код:
$ php -S localhost:8000 router.php
Local host — так называемый локальный («местный») хост, то есть компьютер, на котором запускается программа (ПК в данном случае работает как Virtual _server).
Также у разработчика есть возможность сделать сервер на PHP доступным для всех сетевых интерфейсов на 8000 порту:
Apache («Апач») — известный HTTP-сервер, имя которого заимствовано от названия племени североамериканских индейцев. Это кроссплатформенное программное обеспечение, поддерживаемое многими операционными системами:
— Linux,
— Windows,
— BSD,
— Mac OS,
— Novell NetWare,
— BeOS.
Широко известна связка Apache + PHP + MySQL.
Основные достоинства «Апача» — гибкость конфигурации и надежность. С его помощью можно подключать для предоставления данных внешние модули, применять для аутентификации пользователей СУБД, модифицировать сообщения об ошибках и многое другое. Также Apache-серверы (servers) поддерживает протокол IPv4.
Одно из преимуществ — интеграция с другим программным обеспечением и языками программирования. Есть много модулей, обеспечивающих веб-серверу Apache поддержку разных систем разработки и языков программирования. Что реализуют в модулях:
— поддержку языков программирования;
— исправление ошибок;
— добавление новых функций;
— возможность модификации основных фукнций;
— средства усиления безопасности.
Раз уж затронули тему безопасности, то тут «Апач» имеет разные механизмы, включая механизм разграничения доступа к данным. Основное:
— ограничение доступа к некоторым файлам/каталогам;
— механизм авторизации пользователей, обеспечивающий доступ к каталогу на основании HTTP- и digest-аутентификации;
— ограничение доступа к конкретным каталогам либо всему серверу, которое основано на IP-адресах пользователей;
— запрет доступа к файлам по их типу, что можно распространить как на всех пользователей, так и на некоторую их часть, к примеру, организовав запрет доступа к файлам конфигурации/базы данных.
Некоторые модули позволяют реализовывать авторизацию с помощью СУБД либо PAM.
Вдобавок ко всему, «Апачу» не проблема поддерживать механизмы CGI и FastCGI, позволяющие исполнять программы почти на любых языках программирования, включая C/C++, Lua, Java.
Если вас интересует установка и настройка Apache, обратите внимание на дополнительные ссылки ниже, где вы найдете нужную информацию.
Данная статья про server PHP написана на основании следующих материалов:
Хотите знать больше и получить самую современную информацию? Обратите внимание на соответствующий курс в Otus:
Код Visual StudioЗадавать вопрос
спросил
Изменено 2 месяца назад
Просмотрено 101 тысяч раз
Я попытался использовать расширение Live-Server в VS Code для PHP, но оно открыло только «корень» «обслуживаемой» папки проекта и показало index.php
в качестве ссылки на загружаемый файл.
Затем я прочитал о веб-расширении Live-Server и установил его, но оно все равно не работало.
(Да, я включил веб-расширение в настройках конфигурации Live-Server в VS Code).
Я также пытался использовать расширение PHP Server, которое хорошо справляется с обслуживанием проекта, вместо использования Apache в XAMPP, но я не нашел способа перезагрузки при сохранении.
Есть ли вообще способ автоматической перезагрузки PHP на сервере PHP?
Требуется ли для веб-расширения Live-Server что-то еще, кроме Live-Server, установленного в VS Code и включения веб-расширения в настройках конфигурации Live-Server?
Я видел, что у некоторых людей это работает в гифках/видео, но мне не удалось это сделать.
Прежде всего, я хочу сказать вам, что Live Server, который доступен на рынке визуального кода, является решением вашей проблемы. Он работает в основном со статической веб-страницей, такой как HTML, но также сложно работает с динамическими веб-страницами, такими как PHP, NodeJs и ASP. NET. В следующем примере я покажу вам, как установить работающий сервер, который работает с обеими веб-страницами (статическими и динамическими).
http://localhost:3000/demo/index.php
вы увидите, что он работает на реальном сервере с динамической веб-страницей, такой как PHP. Когда вы редактируете и сохраняете файл index. php с работающим кодом VS, он автоматически обновляется на этом IP-адресе.
5
У меня была аналогичная проблема, и я думаю, что нашел обходной путь. Установив php-сервер и live-сервер, перейдите в веб-расширение для live-сервера и отметьте «Мне не нужна настройка прокси». Для фактического адреса сервера введите адрес вашего php-сервера (для меня по умолчанию было http://localhost:3000/), а для адреса живого сервера введите http://127.0.0.1:5500, если вы сохранили адрес живого сервера по умолчанию. и порт. В моем settings.json для «liveServer.settings.useWebExt» было установлено значение true, но по какой-то причине установка значения false для меня не имела значения.
Я не мог понять, как заставить его открывать адрес php-сервера, а не адрес живого сервера, когда нажимаю «go live». Он по-прежнему отображает структуру каталогов, и я думаю, что проблема заключается в том, что живой сервер не находится в рабочем каталоге сервера php, если это имеет смысл. Однако, если вы перейдете по адресу php-сервера (localhost: 3000/), php-страницы у меня сработали, и нажатие Ctrl + S для сохранения обновило страницу правильно.
Надеюсь, это поможет!
3Для автоматической перезагрузки файлов PHP в Visual Studio Код:
Примечание: Для того, чтобы автоматически перезагрузить активное автосохранение и установить задержку 400 мс.
поместите этот метатег в свой код, который работает для меня
называется пятисерверным.
Это расширение поддерживает PHP.
Вы должны поместить Fiveserver.config.js
в корневой каталог вашего проекта,
это может быть пример конфигурации:
модуль.экспорт = { php: "/usr/bin/php", // исполняемый файл php root: 'www', //корневой каталог вашего проекта, куда смотрит liveserver open: 'index.php', //точка входа в ваш проект php injectBody: true // включить перезагрузку в реальном времени }
Также не забудьте добавить тег HTML в свой index. php, иначе он не будет работать (ошибка 404).
Пример index.php, который у меня работает:
//index.php <тело> тело>
Это решение работает для меня, но мне пришлось установить локальную копию php-7.4.24 и настроить расширение PHP_Server, чтобы посмотреть на это, затем я продолжал получать ошибки mysqli и curl, пока не отредактировал php.ini и не добавил полные пути к расширениям в моей локальной установке php7
extension=»C:\php-7.4.24\ext\php_mysqli.dll»
extension=»C:\php-7.4.24\ext\php_curl.dll «
простое использование следующего не помогло:
extension=»php_mysqli.dll»
extension=»php_curl.dll»
Я сделал все из первого ответа, но все, что мне нужно было сделать, это
Установить плагин Live Server для Firefox и VSCode
Для Laravel я запустил php artisan serve --host 192.168.0.104 --port 8001
Заходим в VSCode внизу справа -> Go Live, затем открывается страница, я ее закрываю
В плагине Firefox я изменил ссылки, Фактический адрес сервера как http://192. 168.0.104:8001 и Адрес живого сервера как те страницы, которые не работают, которые были http://127.0.0.1:5500
Вот и все.
После долгих проб и ошибок я добился работы с этими настройками.
Щелкните для просмотра конфигурации imagen
1
Загрузите расширение для Chrome- Вам также нужно будет добавить расширение живого сервера в коде VS
. Фактический адрес сервера = http://localhost/(insert_folder_name_here)/ Адрес живого сервера = http://127.0.0.1:5500/(insert_php_file_name).php
Используйте образец html-файла, чтобы найти адрес живого сервера, если это не работает для вас, ИЛИ
ИЛИ Посмотрите это видео, чтобы настроить его
1
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Электронная почта
Обязательно, но не отображается
Электронная почта
Требуется, но не отображается
спросил
Изменено 2 года, 11 месяцев назад
Просмотрено 17 тысяч раз
Я пытаюсь реализовать потоки в php, и с помощью xampp в Windows я могу это сделать, однако у меня есть сервер Linux с cpanel, и в конфигурациях отключена безопасность потоков, как я могу включить ее на своем сервере Linux? Я вызываю phpinfo(), и он показывает, что «Безопасность потоков» отключена
У вас есть два варианта:
--enable-maintainer-zts
Я совершенно уверен, что cPanel имеет экран конфигурации, который позволит вам перенастроить и перестроить, быстрый поиск в Google выдает это, что кажется уместным:
http://forums. cpanel.net/f442/how-install- php-pthreads-zts-387252.html
0
«Безопасность потоков» не имеет ничего общего с написанным вами PHP-скриптом, в том числе с тем, хотите ли вы использовать потоки или нет. Это относится к стилю сервера, на котором работает PHP:
apache, работающий с PHP как CGI, процесс PHP запускается отдельно от рабочего процесса Apache в своем собственном процессе. Поточно-ориентированный двоичный файл требует , а не .
apache с mod-php, PHP запускается как поток внутри рабочего процесса apache. Требуется потокобезопасный двоичный файл .
Смотрите этот ответ для более подробного объяснения.
1
Вам не нужно включать Thread Safety
, так как это не повлияет на ваш код. Для лучшего понимания
Поточно-безопасный :
Он используется для предотвращения входа в состояние гонки, когда общая структура данных, которой манипулируют разные потоки.
Об авторе