Php локальный сервер: PHP: Встроенный веб-сервер — Manual
Самый детальный обзор локальных серверов для web-разработки на просторах Рунета
От автора: у вас в руках PSD-макет сайта, и нужно начинать его верстку. Если предстоит создать «визитку», то ничего сложного вас не ждет — лишь сверстать и разместить в сети. Но если бэк-энд обещает быть непростым, то сайт придется тестировать на сервере вне Интернета — на вашем компьютере. Именно для этого созданы приложения, позволяющие эмулировать работу сервера. Мы решили сделать детальный обзор локальных серверов для web-разработки и показать, какие инструменты используются в современном девелопменте.
В этой статье мы постараемся не забыть ни одного героя: вспомнить каждую сборку для создания локального сервера, которая была или есть популярной сегодня. Таким образом вы сможете решить, какая из них подходит вам больше всего, а какая вовсе противопоказана.
Битва корифеев: Denver против Open Server
Эта дискуссия продолжается с момента, когда оба приложения были представлены на просторах сети. Причем у каждой из сторон есть свои аргументы. Сегодня мы разберем сильные стороны каждого из них и покажем, кто же все-таки достоин стать орудием работы современного разработчика.
Denver forever and ever
В 2002 году вышла первая версия пакета инструментов, которая имела аббревиатуру ДНВР — Джентельменский набор Веб-Разработчика. Почти сразу решение набрало большую известность, так как:
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
было просто в установке. Единственное, что требовалось от юзера — это распаковать файлы, а программа настраивала все сама;
набор имел в своем распоряжении сервер Apache, СУБД MySQL, PHP, Perl, sendmail и многие другие «фишки», которые дополнялись от версии к версии;
он был популярным среди новичков и их учителей: так было легче всего проиллюстрировать работу серверной части.
Более десяти лет он доминировал на арене локальных серверов и даже сейчас находит своих поклонников. Самоучители по верстке сайтов продолжают советовать его для тех, кто только начинает работу в сфере веб-разработки. Денвер абсолютно не перегружает систему. Он работает незаметно для самого пользователя. Единственным напоминанием является дополнительный локальный диск, который по умолчанию имеет имя «Z».
Также, Денвер легко удалить, как только вы решите это сделать (как же этого не хватает современным программам). Это делается простым отключением и перемещением папки с файлами в корзину.
Но, у него были очень быстро выявлены некоторые недостатки. Вместе со стремительным развитием Интернета, начали набирать хайп веб-продукты, над которыми трудились целые команды девелоперов. И когда нужно было перенести все конфигурации одного локального сервера на другой, требовались значительные временные и трудовые ресурсы.
Отсутствие графического интерфейса тоже огорчало. Компьютеры стали высокопроизводительными, и их ресурсы не нужно было экономить. Тот рационализаторский подход, который сделал Денвер известным, оставил его позади в 2013 году.
На горизонте начали появляться новые решения, которые по удобству и функционалу значительно опережали «джентльменский набор». Потому, выход версии Денвера 2013 года стал последним. Была предпринята попытка создать более мощную версию, которая называлась Endels — New Denwer Local Server, но, по стечению обстоятельств, она не набрала той известности, что ее предшественник. Пакет имел существенное преимущество — Endels уже умел запускаться с переносного носителя, на лету переключаться между версиями PHP и, что наиболее важно, радовал своих пользователей неплохим графическим интерфейсом.
Open Server: шаг навстречу изменениям
Когда этот WAMP/WNMP вышел в свет, то стал своеобразным мессией для веб-разработки. Во-первых, он, как и Денвер, был прост в установке и удалении. Работа с ним была значительно легче благодаря дружелюбному интерфейсу, а функционал впечатлял даже тех гиков, которые любят все установить и настроить вручную. Конечно, даже сайты и приложения с Денвер кое-как «натягивались» на существующие тогда CMS. Но взаимодействие Open Server и уже набравшего оборотов WordPress впечатляло.
Open Server включил в свой пакет веб-сервер Nginx — это более легкий коллега Apache. На момент написания статьи, большинство веб-продуктов в мире работают на симбиозе этих двух серверов. Первый хорош для фронтенда: он работает с запросами пользователя и выдает необходимый статический контент, в то время как Apache имеет дело с динамическим. Nginx используется передовыми страницами по всему миру: ваш уютный vk.com и даже Facebook в их числе. Но рассматривать Nginx и Apache как альтернативу друг другу не стоит — лучше всего они проявляют себя при одновременном использовании.
В общем, примечательным отличием Open Server является вариативность его инструментов. Он предлагает сразу два HTTP-модуля, три СУБД и множество PHP-модулей. При этом, переключение между ними не вызывает трудностей у оператора.
Также, несмотря на свою «увесистость», он остается достаточно быстрым. В отличие от Денвера, который даже для своего времени весил чуть больше, чем ничего, Open Server требует внушительный гигабайт памяти на диске и 200 мегабайт RAM. Конечно, для современного читателя это кажется мелочью. Тем более, что большой вес сполна компенсируется портативностью.
Разработчики позиционируют OS как полностью портативный. Он не засоряет системные файлы, как его предшественники. Также, запуск с съемного носителя полностью решает проблему с большим кругом разработчиков, которую мы упоминали выше. Разработчик может просто носить свой «сервер» на флешке и запускать на любом подходящем девайсе.
Большим преимуществом, которое высоко ценят новички, является простота установки. Большинство системных файлов, которые необходимы для корректной работы OS, установлены либо в самой системе, либо прикреплены к установщику. Если последний не находит на машине пользователя нужного элемента, он самостоятельно доустанавливает его. Такой подход сегодня используют большинство других программ.
XAMPP лучше многих
Это еще одна сборка веб-сервера, которая имела умеренную популярность во времена доминирования Денвера и Open Server, и имеет точно такую же и сейчас. Если аббревиатура WAMP для подобных пакетов означала «Windows, Apache, MySQL, PHP», то разработчики этой платформы решили предложить собственную альтернативу. В их названии «Х» символизирует кроссплатформенность сборки — сервер будет одинаково хорошо работать на всех операционных системах, включая «яблочные».
«M», которая предназначалась для MySQL, отвечает за одно из ответвлений этой системы — MariaDB. Считается, что это весьма перспективная разработка, поддержкой которой занялся даже Google, а ведущим разработчиком является автор идеи My. Дополнительная «Р» отвечает за поддержку языка Perl — родоначальника такого популярного сегодня PHP.
На самом деле, XAMPP настолько неплохая система, что иногда удивляешься ее посредственной используемости среди веб-разработчиков. Пакет обладает весьма достойным интерфейсом, легко устанавливается распаковыванием файлов и позволяет быстро оперировать. Она однозначно лучше Денвера (как почти все современные платформы), и не уступает OS во многих вопросах. Чтобы понять, насколько она проста в использовании, достаточно упомянуть, что ее принято называть «сборкой лентяя» — отличная характеристика дружелюбности.
Некоторые разработчики отказываются от XAMPP только потому, что UAC от Windows необходимо отключить перед началом работы. Их охватывает страх о том, что программа имеет цель нанести какой-либо вред их компьютерам. Но все подобные выводы, конечно же, ложь. Вся загвоздка в том, что XAMPP был разработан до появления UAC на свет, и, почему-то, не попал в список доверенных приложений. Код программы был тщательно проинспектирован — он не несет в себе угрозы.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
И если кто-то в вашем окружении назовет XAMPP «перегруженным Денвером», то не обращайте внимания — так было очень давно. Сегодня платформа весьма современна, а ее последняя версия вышла совсем недавно. И хотя общество все же не сделало эту систему фаворитом, в сердце автора этих строк она останется навсегда.
Выбор отважных — VertigoServ
Кроме заезженных Open Server и Denver, в свое время был достаточно юзовым и этот программный пакет для имитации работы сервера. Подход разработчиков, судя по всему, был таков: создать лучший вариант, объединив сильные стороны двух самых известных конкурентов.
Vertigo отличался скоростью и стабильностью работы, а также довольно неплохим интерфейсом. Кроме этого, создатели решили включить в комплект Zend Optimizer, который немного ускоряет PHP-скрипты. Но, скорее всего, это был лишь маркетинговый ход: данное приложение является единственным продуктом, распространяемым компанией Zend бесплатно. Они же и придумали легенду о том, что скрипт с Optimizer становится на 40% быстрее (на самом деле, нет).
На этом его преимущества заканчиваются: сегодня вы вряд ли встретите апологетов Vertigo (но вероятность все же есть ). Тот же UI, который должен был стать преимуществом сервера, не имел полноценной поддержки русского языка: лишь английский и польский. В то время он поддерживал лишь пятую версию PHP, один веб-сервер и одну СУБД. Возможно, потому и проиграл гонку вооружений. Как результат, Vertigo стал немного лучше Денвера (что еще нужно доказать!) и значительно хуже OpenServer.
OS — победитель?
В начале 10-х годов это можно было утверждать с уверенностью. Да, он превзошел Денвер по функционалу и стал значительно комфортнее, чем остальные WAMP/WNMP с графическим интерфейсом. К тому же, он отлично вооружен даже для современного разработчика.
Open Server продолжает развиваться как платформа веб-разработки: несколько месяцев назад вышла свежая версия. Взаимодействие с тяжелой, но привычной среднестатистическому пользователю WordPress продолжает радовать: они будто созданы друг для друга. Это также не мешает работать и с другими CMS — локальный сервер хорошо контактирует и с ними.
Но если говорить о современном положении вещей, то прогрессивные разработчики отходят от тестирования на OS, предпочитая более профессиональные решения. Почему? Об этом в следующем разделе!
Плеяда свежих решений
Несмотря на доминирующие позиции Open Server, мы решили немного поговорить о «свежей крови», которая ворвалась в поток существующих сборок. В дни, когда основные продукты заняли свои позиции, уже кажется невозможным сделать что-то прорывное. Но некоторые решения, по крайней мере, заставляют на них взглянуть.
Яблочный сервер
Все мы помним время, когда увидеть продукцию Apple можно было лишь по телевизору, и то нечасто. Сегодня она заполнила наше окружение: от плееров до полноценных машин. Это же касается и веб-разработки: делать приложение на macOS теперь даже круто .
Вместе с продукцией «Яблока», распространенность ждала и их решение для создания локального сервера под названием MAMP PRO. Он, конечно же, платный, но имеет и вариант для экономных — без приставки, символизирующей профи. Среди преимуществ обеих версий можно назвать интерфейс — конечно же, он отличный (на этом в Apple не экономят). Программа проста в установке и работе, а постоянная поддержка не дает отставать от современных тенденций в развитии технологий.
Также, множество ресурсов в MAMP направлены на безопасность. Можно существенно ограничить доступ к вашим базам данных. Это нужно, если компьютер использует постоянное подключение к сети. В целом, это решение считается наиболее легким в использовании (даже легче, чем Денвер, да-да!). Как всегда, Apple еще и приложили подробную инструкцию, так что даже ребенок может создать свой локальный сервер и разместить на нем свой первый сайт.
Недостатком является ограниченный ряд девайсов, которые могут запустить данный пакет. Если вы решили работать с MAMP, значит и вся ваша команда тоже должна работать в MAMP со своих Mac’ов. Это не проблема для больших компаний, но существенный минус для тех команд, которые собраны для конкретного проекта.
Кстати, если вы думаете, что бесплатная версия от Apple имеет существенно ограниченные возможности, то вы неправы. Ее вам хватит, чтобы быть разработчиком для любого проекта — Pro лишь добавляет некоторый функционал.
Самый трендовый и прогрессивный
Так можно сказать только об одном решении, которое сокращенно называют VVV. Развернутое название звучит как Varying Vagrant Vagrants и в переводе значит что-то вроде «бродячих бродяг» — автор не нашел связи между названием и сутью.
В отличие от сборок, которые мы обсуждали, VVV никак не подойдет для начинающего пользователя. Это даже не похоже на Open Server и его аналоги. Чтобы разработать подобное решение, создателям пришлось заглянуть в корень спроса на старые решение: создание окружения для запуска нужных сервисов. Для этого они создали совокупность конфигураций, которые можно свободно взять с GitHub и выполнить на своей машине. Однако для этого вам потребуются еще приложения.
По сути, VVV — это инструкция для компьютера, которую он использует для запуска локального сервера. Чтобы ее выполнить, необходима программа VirtualBox, которая находится в свободном доступе. Она запускает виртуальную машину и абсолютно не привязана к конкретной платформе, будь то Windows, MacOS или линуксоидная OS.
Для управления системой необходим Vagrant. Это что-то вроде менеджера виртуальных машин, с помощью которого вы и получите необходимое окружение. В целом, подход весьма хорош и пользуется спросом среди продвинутых веб-девелоперов. Но, к сожалению, даже самые «зубастые» отмечают этот подход, как чересчур заумный, несмотря на то, что он полностью может удовлетворить WordPress-разработчика.
Выводы вместо заключения
Как бы это иронично ни звучало, но даже некоторые продвинутые разрабы до сих пор используют Денвер и не желают смириться с наступившим 2018 годом. Простота и стабильность работы привлекает их, а некоторые недочеты они предпочитают исправлять самостоятельно. Некоторые, даже приспособили ее к «свитчам» CMS в один клик и поддержке всех современных решений для веб-девелопмента.
В целом можно уверенно заявить о том, что все платформы хорошо находят своего пользователя. Это как ситуация с CMS: WоrdPress известней всех, но веб-разработчики находят инструменты и получше. Каждый человек использует то, что ему удобно. И дело здесь не всегда во вкусах и предпочтениях. Большую роль играет та задача, которую он выполняет.
Например, для создания лендингов, которые лидируют среди разрабатываемых страниц, то одинаково хорош будет и Денвер, и OpenServer, и все другие платформы. При изменении задач, которые стоят перед девелопером, он приспосабливается и изменяет те инструменты, которые использовал ранее.
OS не всегда справляется в вопросах портативности системы, в то время как VVV легко решает эту проблему. Также, ни одна программа не будет так хороша для новичка, в плане иллюстрации работы настоящего веб-сервера. Ну а если вы собрали большую команду со всех уголков мира, часть из которых убежденные юникс-хеды, а другая не видят жизни без уютных окошек Windows OS, то смело давайте им команду использовать XAMPP.
Также, до сих пор «рабочим» вариантом является мануальная настройка локального сервера. Самые продвинутые пользователи самостоятельно устанавливают все необходимые компоненты. Они не желают перегружать систему балластом, а потому сами формируют свой пакет. Как правило, набор разработчика средней руки — это «Apache + РНР + MySQL». Все остальные утилиты укомплектовываются согласно требованиям разрабатываемого веб-приложения или сайта.
Не стоит также забывать, что в сети до сих пор существуют фанаты таких сборок, как WampServer, EasyPHP, AppServ и других. Их существование также трудно доказать, как и опровергнуть, но факты говорят сами за себя: обновленные версии датируются 2017–2018 годами.
Делаем вывод: идеального решения нет. Есть те, которые подходят под конкретную ситуацию, возможности и цели исполнителя. На этом мы и заканчиваем наш обзор. Пользуйтесь тем, что вам удобно в каждом конкретном случае и следите за новостями веб-разработок!
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнее
PHP-Мастер
От теории до собственной CMS интернет-магазина
Подробнее
Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
Скорее всего какие-то части этой статьи уже знакомы многим хаброжителям, но в связи с покупкой нового рабочего ноутбука я решил собрать все крупинки воедино и организовать удобное средство для разработки. Мне часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows то использовал OpenServer. Но с переходом на Linux мне нехватало той простоты создания хостов и переключений версий которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
Цели
- Использовать текущий на момент написания статьи софт
- Чтоб разграничить локальные домены, будем использовать специальный домен .loc
- Переключения версий PHP реализуем через поддомен c помощью fast-cgi
- Автоматическое создание хоста с помощью vhost_alias и dnsmasq
Что имеем в итоге. При переходе на
56.test.loc
Apache запустит c версией PHP 5.6.36
/var/www/test.loc/public_html/index.php
Поменяв поддомен на
72.test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7
Другие версии доставляются аналогичным описанным ниже способом.
Для создания еще одного сайта просто создаем в /var/www/ папку имеющую окончание .loc, внутри которой должна быть папка public_html являющаяся корнем сайта
Вот собственно и все. Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему для работы с сайтами.
Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.
Для начала поставим необходимые пакеты
sudo apt update
sudo apt install build-essential pkg-config libxml2-dev libfcgi-dev apache2 libapache2-mod-fcgid postfix
Postfix ставим в качестве плюшки, как простое решение(в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.
Так как это локальная разработка и я единственный пользователь. То мне удобней перенести папку с проектами в мою домашнюю дерикторию. Она у меня маунтится отдельным диском и мигрирует при переустановке системы. Самый простой способ это создать ссылку, тогда не нужно менять пути в настройках да и путь привычный для всех.
Скопируем папку созданную апачем в домашний каталог, создадим на ее месте ссылку, не забыв поменять пользователя на себя и обменяться группами с апачем.
sudo mv /var/www/ ~/www
sudo ln -s ~/www /var/www
sudo chown $USER:$USER -R ~/www
sudo usermod -a -G www-data $USER
sudo usermod -a -G $USER www-data
Создадим папку в которой будем собирать исходники PHP для разных версий
sudo mkdir /usr/local/src/php-build
Также нам понадобится папки для CGI скриптов
sudo mkdir /var/www/cgi-bin
И runtime папка для этих же скриптов, с правами
sudo mkdir /var/run/mod_fcgid
sudo chmod 777 /var/run/mod_fcgid
И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в /etc/tmpfiles.d/fcgid.conf
#Type Path Mode UID GID Age Argument
d /var/run/mod_fcgid 0755 www-data www-data - -
У меня dnsmasq-base идет с коробки, если нет то его всегда можно доставить.
sudo apt install dnsmasq
Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так
sudo updatedb
locate dnsmasq.conf
Либо если он как и у меня является частью NetworkManager то создать новый файл конфигурации в /etc/NetworkManager/dnsmasq.d/local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.
address=/loc/127.0.0.1
Также нужно включить необходимые модули апача
sudo a2enmod fcgid vhost_alias actions rewrite
Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36
1. Скачиваем исходники нужной версии и распаковываем их
cd /usr/local/src/php-build
sudo wget http://pl1.php.net/get/php-5.6.36.tar.bz2/from/this/mirror -O php-5.6.36.tar.bz2
sudo tar jxf php-5.6.36.tar.bz2
2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36
sudo mkdir /opt/php-5.6.36
cd php-5.6.36
sudo ./configure --prefix=/opt/php-5.6.36 --with-config-file-path=/opt/php-5.6.36 --enable-cgi
sudo make
sudo make install
sudo make clean
3. Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi
#!/bin/bash
PHPRC=/opt/php-5.6.36/php.ini
PHP_CGI=/opt/php-5.6.36/bin/php-cgi
PHP_FCGI_CHILDREN=8
PHP_FCGI_MAX_REQUESTS=3000
export PHPRC
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec /opt/php-5.6.36/bin/php-cgi
4. Делаем файл исполняемым
sudo chmod +x /var/www/cgi-bin/php-5.6.36.fcgi
5. Добавляем экшен для обработки каждой версии в /etc/apache2/mods-available/fcgid.conf
<IfModule mod_fcgid.c>
AddHandler fcgid-script fcg fcgi fpl
Action application/x-httpd-php-5.6.36 /cgi-bin/php-5.6.36.fcgi
AddType application/x-httpd-php-5.6.36 .php
#Action application/x-httpd-php-7.2.7 /cgi-bin/php-7.2.7.fcgi
#AddType application/x-httpd-php-7.2.7 .php
FcgidIPCDir /var/run/mod_fcgid
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
FcgidConnectTimeout 20
<IfModule mod_mime.c>
AddHandler fcgid-script .fcgi
</IfModule>
</IfModule>
6. Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
#Универсальный ServerNamе
ServerAlias *.loc
#Алиас для CGI скриптов
ScriptAlias /cgi-bin /var/www/cgi-bin
#Универсальный DocumentRoot
VirtualDocumentRoot /var/www/%2+/public_html
#Директория тоже должна быть универсальной
<Directory /var/www/*.loc/>
Options +ExecCGI -Indexes
AllowOverride All
Order allow,deny
Allow from all
<FilesMatch \.php$>
#Ниже все условия для каждой из версий
<If "%{SERVER_NAME} =~ /56\..*?\.loc/">
SetHandler application/x-httpd-php-5.6.36
</If>
<Else>
#По умолчанию, если версия не указанна, запускаем на последней
SetHandler application/x-httpd-php-7.2.7
</Else>
</FilesMatch>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться
sudo service apache2 restart
sudo service network-manager restart
Поместим в index.php нового тестового сайта phpinfo() и проверим что все работает.
Локальные сервер для работы php. Разворачиваем локальный сервер на Windows
Open Server это бесплатная свободно распространяемая программа для веб-разработчиков, включающая в себя пакет компонентов серверного программного обеспечения. Open Server нужен для создания и отладки полноценных сайтов на локальном компьютере. Проще говоря, с помощью этой программы можно сделать аналог Linux серверов под Windows, и без проблем запускать сайты, например, написанные на PHP.
Open Server очень прост в эксплуатации. Для запуска программы не нужно уметь конфигурировать сервера Apache и Nginx или настраивать MySQL. Программа это делает автоматически. Более того Опен Сервер реализован как портативное приложение, не требующее установки. Программа может работать с флешки, HDD и CD/DVD диска. В последнем случае программа будет создавать временный каталог с данными на диске или виртуальном устройстве. Есть возможность управления через консоль и создания собственных сборок программы.
При необходимости программа может работать как сервер в локальных или глобальных сетях. В случае работы как интернет-сервер необходим статический IP адрес, а так же следует помнить о возможных угрозах и защите своего компьютера от вредоносных скриптов.
Основной набор компонентов:
- cервер Apache;
- DNS сервер Bind;
- HTTP сервер Nginx;
- базы данных MySQL, MariaDB, MongoDB, PostgreSQL;
- журналируемое хранилище данных Redis;
- система кэширования данных Memcached;
- FTP сервер FTP FileZilla;
- среда для выполнения PHP скриптов PHP 5.x;
- интерпретатор языка PostScript Ghostscript;
- сервис для работы с электронной почтой Sendmail;
- большое количество других вспомогательных утилит, таких как HeidiSQL, Adminer, RockMongo PHPMyAdmin и других.
При необходимости можно установить дополнительные компоненты Pear и Composer.
Программа представлена в трёх вариантах Basic, Premium, Ultimate. Разница между ними в количестве дополнительных утилит для работы. В базовой версии присутствует только основной набор для запуска сервера. В версии Premium включены основные серверные программы и дополнительные утилиты Git, ImageMagick, MongoDB, Rockmongo, PostgreSQL и PhpPgAdmin. В версию Ultimate входит большое количество дополнительных свободно распространяемых программ для работы с графикой, различные текстовые и HTML редакторы, программы для работы с Интернет, менеджеры закачек, SCP клиенты и так далее.
Open Server может работать в ограниченном режиме в ситуации, когда нет возможности вносить изменения в файл HOSTS при ограничении прав доступа или блокировкой файрволом. В этом случае для сайтов будет доступен только один адрес localhost 127.0.0.1.
Ключевые особенности и функции
- очень простое управление;
- большое количество разных версий основных модулей;
- три варианта программы на выбор: Basic, Premium, Ultimate;
- программа реализована как портативное приложение;
- возможность работы в локальных сетях и Интернет в качестве сервера;
- поддержка SSL;
- поддержка кириллицы в имени доменов;
- возможность настройки DNS сервера;
- поддержка доменных указателей;
- возможность использования скриптов для запуска/остановки сервера;
- возможность эмулировать разные скорости соединения для тестиров
Используем встроенный в PHP сервер
Вы здесь:
Главная — PHP — PHP Основы — Используем встроенный в PHP сервер
При разработке сайтов на локальной машине мы обычно используем либо Denwer,
либо OpenServer либо еще какой-то пакет разработчика сайтов. Но начиная с
версии 5.4 в PHP есть встроенный веб-сервер. Он может быть запущен
через командную строку в Windows, Mac или Linux. Для этого необходимо
выполнить команду cd для перехода в директорию, в которой находятся файлы
проекта и запустить в этой директории встроенный PHP сервер:
C:\> php –S localhost:8080
Эта команда запустит в консоли веб-сервер, который будет доступен в браузере по
соответствующему адресу на порту 8080. Сервер может быть остановлен нажатием
клавиш Ctrl-C. Корневой директорией в данном случае будет текущая папка:
PHP 7.1.1 Development Server started at Mon Dec 17 11:56:05 2018
Listening on localhost:8080
Document root is C:\Sites\myrusakov.lc
Press Ctrl-C to quit
Открыть сайт в браузере теперь можно по адресу http://localhost:8080. В
случае, если вы явным образом не обращаетесь к какому-либо конкретному файлу, то
сервер вернет по умолчанию либо index.php либо index.html из коневой
директории проекта. Все запросы к адресам логируются в консоли, в которую
иногда полезно заглядывать в случае возникновения ошибок.
Если же вам необходимо, чтобы локальный сайт был доступен в локальной сети,
то вместо адреса localhost, необходимо сделать следующее:
C:\> php –S 0.0.0.0:8080
Далее, нужно узнать ip адрес локального компьютера, например набрав в
консоли следующую команду:
C:\> ipconfig
В категории адаптера в графе IPv4 и будет искомый адрес. Теперь к сайту или
веб-приложению на вашей машине можно подключиться с другого компьютера или даже
смартфона (по Wi-Fi) по тому адресу, который вы нашли выше, примерно так (не
забудьте обязательно указать номер порта ):
http://X.X.X.X:8080 , где X.X.X.X – это адрес IPv4
Таким образом, встроенный в PHP сервер позволяет быстро развернуть и
протестировать свое приложение.
-
Создано 27.12.2018 13:36:30 -
Михаил Русаков
Предыдущая статья Следующая статья
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):
-
Кнопка:
<a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>Она выглядит вот так:
-
Текстовая ссылка:
<a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>Она выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):
[URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]
Какой локальный сервер для php. Что такое локальный сервер? Выбираем лучший
Современный сайт представляет собой не просто набор HTML-документов, но и включает в себя множество технологий, в том числе серверных, таких как: SSI (Server-Side Includes, включения на стороне сервера), PHP (PHP: Hypertext Preprocessor, PHP: препроцессор гипертекста), базы данных и многое другое. Для ознакомления и изучения этих технологий ошибкой будет использовать посещаемый рабочий сайт в Интернете, поэтому имеет смысл установить необходимый комплект программ на локальный компьютер и тестировать все на нем.
Наиболее популярной связкой таких программ является веб-сервер Apache, язык программирования PHP, система управления базами данных MySQL, оболочка для администрирования баз данных PhpMyAdmin, шаблонизатор Smarty.
Указанные программы работают преимущественно под управлением Linux подобных систем, но имеются и версии под Windows. Основной плюс этой связки программ в универсальности. Сайт, созданный и проверенный на локальном компьютере под Windows, легко может быть перенесен на сервер с FreeBSD. К тому же этот набор поддерживает подавляющее большинство хостеров.
В дальнейшем будут рассмотрены программы для домашнего компьютера с операционной системой Windows.
Кратко опишем, что представляют собой технологии, которые будут использоваться для создания сайта.
Веб-сервер
Веб-сервером называется программа, которая анализирует приходящие запросы и формирует готовые документы отправляемые пользователю. В качестве веб-сервера часто выступает Apache, как наиболее устоявшийся и популярный в Интернете. По разным оценкам его доля составляет почти 50% от общего числа используемых веб-серверов.
PHP
Популярный язык программирования, используемый при разработке сайта.
MySQL
Система управления базами данных.
PhpMyAdmin
Веб-интерфейс для создания и управления базами данных MySQL. Позволяет просматривать таблицы, изменять их содержание, модифицировать структуру, делать выборку данных, сортировать информацию. Все действия осуществляются прямо в браузере, в специально разработанном под него дружественном интерфейсе.
Smarty
Мощная система шаблонов для PHP. Использует свой собственный язык, который сочетает HTML и специальные теги Smarty. Шаблоны нужны для разделения программного кода и представления документа или по-другому, для отделения логики от содержания.
Все указанные программы и технологии являются открытыми, могут быть бесплатно загружены и свободно использоваться.
Можно установить необходимые программы, скачав их с сайта производителя и настроив под свои нужды. Однако это подчас требует знакомство с программой и владение необходимой квалификацией, которой у начинающих нет. Поскольку речь идет не о полноценном рабочем сервере, а о компьютере для тестирования и отладки, то имеет смысл использовать готовые комплекты. Такой комплект содержит в себе все необходимые для веб-разработчика программы, легко настраивается и управляется. Далее пойдет речь о некоторых популярных комплектах веб-разработчика.
В связи с тем, что мой блог абсолютно лишен какой-либо хронологии, я решил исправить это. Следующая серия статей будет посвящена созданию своего сайта.
В этой статье рассмотрим: что такое локальный сервер
, где его скачать
, как установить
, как настроить
, как сделать локальный сервер доступным в интернете
.
Что такое локальный сервер?
Локальный сервер
– программное обеспечение, позволяющее сделать отладку сайта на локальном (домашнем) компьютере, без выхода в интернет. Локальный сервер полностью имитируют работу хостинга и имеет аналогичный функционал.
Те, кто занимался сайтостроением с использованием лишь html и css знают, что необходимости в локальном сервере нет, так как браузер прекрасно обрабатывает и понимает язык гипертекстовой разметки и таблицы каскадных стилей. Но, стоит добавить какой-нибудь PHP скрипт и Вас тут же ждет конфуз – браузер не выдаст результат работы PHP. А происходит это потому, что браузеры не понимают PHP. И чтобы пользователь увидел страницу сайта в том виде, в котором эта страница должна быть, необходимо, чтобы сервер обработал и пре
Локальный веб-сервер | htmlbook.ru
Современный сайт представляет собой не просто набор HTML-документов, но и включает в себя множество технологий, в том числе серверных, таких как: SSI (Server-Side Includes, включения на стороне сервера), PHP (PHP: Hypertext Preprocessor, PHP: препроцессор гипертекста), базы данных и многое другое. Для ознакомления и изучения этих технологий ошибкой будет использовать посещаемый рабочий сайт в Интернете, поэтому имеет смысл установить необходимый комплект программ на локальный компьютер и тестировать все на нем.
Наиболее популярной связкой таких программ является веб-сервер Apache, язык программирования PHP, система управления базами данных MySQL, оболочка для администрирования баз данных PhpMyAdmin, шаблонизатор Smarty.
Указанные программы работают преимущественно под управлением Linux подобных систем, но имеются и версии под Windows. Основной плюс этой связки программ в универсальности. Сайт, созданный и проверенный на локальном компьютере под Windows, легко может быть перенесен на сервер с FreeBSD. К тому же этот набор поддерживает подавляющее большинство хостеров.
В дальнейшем будут рассмотрены программы для домашнего компьютера с операционной системой Windows.
Кратко опишем, что представляют собой технологии, которые будут использоваться для создания сайта.
Веб-сервер
Веб-сервером называется программа, которая анализирует приходящие запросы и формирует готовые документы отправляемые пользователю. В качестве веб-сервера часто выступает Apache, как наиболее устоявшийся и популярный в Интернете. По разным оценкам его доля составляет почти 50% от общего числа используемых веб-серверов.
http://www.apache.org
PHP
Популярный язык программирования, используемый при разработке сайта.
http://www.php.net
MySQL
Система управления базами данных.
http://www.mysql.com
PhpMyAdmin
Веб-интерфейс для создания и управления базами данных MySQL. Позволяет просматривать таблицы, изменять их содержание, модифицировать структуру, делать выборку данных, сортировать информацию. Все действия осуществляются прямо в браузере, в специально разработанном под него дружественном интерфейсе.
http://www.phpmyadmin.net
Smarty
Мощная система шаблонов для PHP. Использует свой собственный язык, который сочетает HTML и специальные теги Smarty. Шаблоны нужны для разделения программного кода и представления документа или по-другому, для отделения логики от содержания.
http://www.smarty.net
Все указанные программы и технологии являются открытыми, могут быть бесплатно загружены и свободно использоваться.
Можно установить необходимые программы, скачав их с сайта производителя и настроив под свои нужды. Однако это подчас требует знакомство с программой и владение необходимой квалификацией, которой у начинающих нет. Поскольку речь идет не о полноценном рабочем сервере, а о компьютере для тестирования и отладки, то имеет смысл использовать готовые комплекты. Такой комплект содержит в себе все необходимые для веб-разработчика программы, легко настраивается и управляется. Далее пойдет речь о некоторых популярных комплектах веб-разработчика.
выбор, установка и настройка локального сервера
Локальный сервер – инструмент веб-разработчика для создания, отладки и тестирования различных скриптов и веб-приложений. Иными словами локальный веб-сервер это эмулятор реального сервера хостинг провайдера, находящегося у вас на компьютере. Работа локального сервера ни чем не отличается от реального и мы на нем можем создавать и тестировать наши сайты.
Я не буду особо углубляться в то, как работает локальный сервер и из чего он состоит. Об этом поговорим как ни будь в другой статье. В данной же статье разберем установку и настройку локального сервера на свой компьютер, но прежде разберем, какой же локальный сервер вообще выбрать.
На сегодняшний день существует множество локальных серверов, но какой же из них выбрать?
Я долгое время пользовался джентльменским набором «Денвер», в состав которого входят php, базы MySql и PhpMyAdmin. Подробнее с данным пакетом вы можете ознакомиться на официальном сайте разработчика. Денвер является одним из популярных пакетов локального сервера для web-разработчиков.
Но от денвера мне пришлось отказаться, когда я открыл для себя Open Server. На мой взгляд с данным приложением намного удобнее работать, тем более, что в последних версиях разработчик включил в его дистрибутив большое количество нужным программ, необходимые вебмастеру: браузеры, редактор кода, файловый менеджер и еще др.
Распространяется Open Server абсолютно бесплатно. Единственно, вы можете отблагодарить автора за такой супер полезный продукт для вебмастера, переведя произвольную сумму на электронный кошелек. Как говорит автор, пожертвования очень важны, ведь проект не коммерческий. Ну, оно и понятно, без денег сегодня никуда… В общем, я лично перевел сколько было не жалко.
Преимущества Open Server
Что я могу выделить в пользу данного сервера? Вообще много чего могу сказать хорошего об Open Server да боюсь статья слишком большой получится. Поэтому выделю важные для моменты.
Продукт поставляется в 3 версиях: Ultimate, Premium, Basic. Вообще чем отличаются можете посмотреть на сайте разработчика, но я сделал скрин и прикрепил его к статье.
Именно наличие нескольких версий я считаю плюсом, т.к. скачать можно именно то, что вам нужно. Обратите внимание на версию Ultimate в распакованном виде — 5 с лишним Гб. У меня лично постоянно проблемы со свободным пространством на жестком диске. У кого с этим проблем нет + нужны дополнительные модули и программы, то можете качать смело Ultimate.
Наличие бесплатных программ, как уже было отмечено. Какие именно программы? Я опять сделал скрин.
Список, как видим, внушительный.
Частное обновление программы. На самом деле, это тоже очень важно. С каждой новой версией исправляются ошибки и появляются новые возможности.
Портативная версия программы. Программа по сути работает без установки. Можно ее носить на флешке и при необходимости работать на другом компьютере.
Богатые возможности программы. Ниже я вставил скрин окна настроек Open Server. Глянув на этот скрин, вы поймете, что данный сервер содержит в себе все, что может потребоваться вебмастеру при разработке сайте. FTP-сервер, работа с почтой (php mail, smtp mail), алиасы (для доступа к серверу из локальной сети или интернет), домены (создание дополнительного алиаса домена), планировщик задач (правда я его еще не использовал).
Отличная документация + форум поддержки. Руководство написал разработчик достаточно емким. Более того, любые интересующие вопросы вы можете задать на форуме поддержки. В общем, для старта есть все. Нужно просто чуточку уделить внимание, чтобы разобраться во всем этом.
Пока с преимуществами я завершу, но это далеко не весь список. Более подробно об Open Server’e вы можете ознакомиться на официальном сайте разработчика — http://open-server.ru.
Установка локального сервера Open Server
Для начала нам необходимо скачать дистрибутив с сайта разработчика. Какую версию скачать решать вам. На работу локального сервера это никак не влияет. Дистрибутив представляет собой самораспаковывающийся архив. Двойным щелчком распаковываем архив куда нибудь на жесткий диск компьютера, а вообще желательно в корень жесткого диска. Все, можно запустить программу. Теперь зайдите в папку, куда вы распаковали open-server и сразу создайте ярлык на рабочем столе для главного загрузочного файла. Вы найдете две версии загрузочного файла — один предназначен для 32-х битной операционной системы (Open Server x86.exe), второй для 64-х (Open Server x64.exe). Создаем ярлык в соответствии с вашей системой. Например, я выбрал «Open Server x64.exe», т.к. у меня 64-х разрядная ОС. Для создания ярлыка щелкните правой кнопкой мыши по файлу, далее Отправить -> Рабочий стол (создать ярлык).
При первом запуске программа вам попросит выбрать язык и далее всплывет диалоговое окно, в котором будет предложено установить Microsoft Visual C++ Runtime & Patches, если вы запускаете Open Server на данном компьютере первый раз.
Если честно, я даже не знаю для чего это надо устанавливать, в предыдущих версиях Open Server такого не было. Но я установил и вам советую.
Запустить Open Server можно, щелкнув двойным щелчком по ярлыку, который мы отправили на рабочий стол. После запуска у вас в трее (рядом с часами) появится красный флажок
, это будет означать, что программа локального сервера запущена, но сам сервер не активирован. Прежде чем активировать заглянем сначала в настройки.
Первое, что нам нужно сделать, это чтобы локальный сервер запускался при запуске приложения (в принципе это уже на ваше усмотрение). Для этого в настройках во вкладке «Основные» ставим галочку «Автозапуск сервера».
Во вкладке «Модули» вы можете посмотреть установленные модули для локального сервера и при желании можно поменять. Например, по умолчанию версия php используется 5.5. Если вам нужно 5.6.xx или php-7, то можно без проблем поменять, выбрав нужную версию из выпадающего списка.
Также во вкладке «Сервер» советую выбрать опцию «Всегда использовать вирт. диск«. Это нужно для того, чтобы при запуске сервера создался виртуальный диск. Букву диска можете выбрать любую.
Остальные настройки я советую оставить как есть. Если вы что то намудрили с настройками, то вы всегда можете откатить их на заводские, нажав на кнопку «Сбросить настройки«.
Теперь можно запустить сервер — щелкаем по иконке красного флажка в трее (достаточно один клик левой кнопкой мыши) и в меню программы выбираем зеленый флажок
. Что означают цвета этих флажков?
- Зеленый — сервер запущен;
- Оранжевый — сервер запускается/останавливается;
- Красный — сервер остановлен.
После запуска у вас должен появиться виртуальный диск — W (если конечно в настройках вы не указали другую метку). Хочу отметить, что при первом запуске у вас может попросить одобрения брандмауэр Windows, если он у вас включен. Окошко одобрения может выскочить несколько раз и все время мы даем добро брандмауэру на выполнение действий Open Server’ом. Иначе, сервер у вас не запуститься.
Заходим в виртуальный диск W и в папке «domains» создаем папку для своего будущего проекта и заливаем туда все файлы вашего сайта. Папку «WWW» в папке сайта создавать не нужно, как это делается в Денвере. После того, как файлы залиты, перезапускам сервер, щелкнув по оранжевому флажку для того, чтобы сервер определил новую папку сайта.
Чтобы запустить сайт после установки в меню Open Server переходим в «Мои сайты» и в выпадающем списке сайтов щелкаем по нужному. После этого откроется браузер, который установлен по умолчанию в Windows — если используете упрощенную версию, и если используете полную версию, то откроется браузер, который установлен в настройках локального сервера.
В данной статье я описал как устанавливать локальный сервер «Open Server». Список настроек, по которым я пробежался далеко не полный… Про остальные возможности и настройки поговорим как-нибудь в другой статье, а пока на этой ноте пожалуй я закончу.
Удачи и приятного вам сайтостроения!
Используется встроенный в PHP сервер
Вы здесь:
Главная — PHP — PHP Основы — Используем встроенный в PHP сервер
При разработке сайтов на локальной машине мы обычно используем либо Denwer,
либо OpenServer, либо еще какой-то пакет разработчиков сайтов. Но начиная с
версия 5.4 в PHP есть встроенный веб-сервер . Он может быть запущен
через командную строку в Windows, Mac или Linux. Для этого необходимо
выполнить команду cd для перехода в директорию, в которой находятся файлы
проекта и запустить в этой директории встроенный PHP сервер:
C: \> php –S localhost: 8080
Эта команда запустит в консоли веб-сервер, который доступен в браузере по
соответствующему адресу на порту 8080. Сервер может быть остановлен нажатием
клавиш Ctrl-C . Корневой директорией в данном случае будет текущая папка:
PHP 7.1.1 Сервер разработки запущен в понедельник, 17 декабря, 11:56:05 2018
Прослушивание на localhost: 8080
Корневой каталог документа - C: \ Sites \ myrusakov.lc
Нажмите Ctrl-C для выхода.
Открыть сайт в браузере теперь можно по адресу http: // localhost: 8080 . В
случае, если вы явным образом не обращаетесь к какому-либо конкретному файлу, то
сервер вернет по умолчанию либо index.php либо index.html из коневой
директории проекта. Все запросы к адресам логируются в консоли, в которую
иногда полезно заглядывать в случае возникновения ошибок.
Если же вам необходимо, чтобы локальный сайт был доступен в локальной сети ,
то вместо адреса localhost, необходимо сделать следующее:
C: \> php –S 0.0.0.0:8080
Далее, нужно узнать ip адрес локального компьютера, например набрав в
консоли следующую команду:
C: \> ipconfig
В категории адаптера в графе IPv4 и будет искомый адрес.Теперь к сайту или
веб-приложению на вашей машине можно подключиться к другому компьютеру или даже
смартфона (по Wi-Fi ) по тому адресу, который вы нашли выше, примерно так (не
Укажите обязательно указать номер порта):
http: //X.X.X.X: 8080, где X.X.X.X - это адрес IPv4
Таким образом, встроенный в PHP сервер позволяет быстро развернуть и
протестировать свое приложение.
Создано 27.12.2018 13:36:30
Михаил Русаков
Предыдущая статья Следующая статья
Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой ссылкой на сайт (http://myrusakov.ru)!
Добавляйтесь ко мне в друзья ВКонтакте : http://vk.com/myrusakov.
Если вы хотите дать оценку мне и моей работе, напишите её в моей группе: http: // vk.com / rusakovmy.
Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления : Подписаться на обновления
Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий страницы внизу.
Порекомендуйте эту статью друзьям:
Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на сайте, в контакте):
- Кнопка:
Она выглядит вот так:
- Текстовая ссылка:
Как создать свой сайтОна выглядит вот так: Как создать свой сайт
- BB-код ссылки для форумов (например, можете поставить её в подписи):
[URL = «https://myrusakov.ru»] Как создать свой сайт [/ URL]
.
Локальный веб-сервер под Linux, с автоматическим поднятием хостов и переключением версий PHP
Скорее всего, какие-то части этой статьи уже знакомы с покупкой рабочего ноутбука, я решил собрать все крупинки воедино и организовать удобное средство для разработки . Часто приходится работать со множеством маленьких проектов, с разными версиями PHP, часто переводить старые проекты на новые версии. В далёком прошлом, когда я был пользователем Windows, чтобы использовать OpenServer.Но с переходом на Linux мне не хватало той простоты создания хостов и переключенных версий, которые были в нём. Поэтому пришлось сделать еще более удобное решение на Linux =)
Цели
- Использовать текущий на момент написания статьи софт
- Чтоб разграничить локальные домены, будем использовать специальный домен .loc
- Переключения версий PHP реализуем через поддомен c помощью fast-cgi
- Автоматическое создание хоста с помощью vhost_alias и dnsmasq
Что имеем в итоге.При переходе на
56.test.loc
Apache запустил c версией PHP 5.6.36
/ var / www / test.loc /public_html/index.php
Поменяв поддомен на
72 .test.loc
будет запущен тот же файл но уже с версией PHP 7.2.7
Другие версии доставляются аналогичным описанным ниже способом.
Для создания еще одного сайта просто создайте в / var / www / имеющую окончательное окончание .loc , внутри которой должна быть папка public_html являющаяся корнем сайта
Вот собственно и все.Как без дополнительных мучений, перезапусков, и редактирований конфигов имеем автоматическую систему работы с сайтами.
Всё это я проверну на LinuxMint19, он на базе Ubuntu18.04, так что с ним все будет аналогично.
Для начала поставим необходимые пакеты
sudo apt update
sudo apt install build-essential pkg-config libxml2-dev libfcgi-dev apache2 libapache2-mod-fcgid postfix
Postfix ставим в качестве плюшки, как простое решение (в мастере установки, всё по умолчанию выбираем) для отправки почты с локальной машины.
Так как это локальная разработка и я единственный пользователь. То мне удобней перенести папку с проектами в мою домашнюю дерикторию. Она у меня маунтится диском и мигрирует при переустановке системы. Самый простой способ это создать ссылку, тогда не нужно менять пути в настройках да и путь привычный для всех.
Скопируем папку созданного апачем в домашний каталог, создадим на ее месте ссылку, не забыв поменять пользователя на себя и обменяться группами с апачем.
судо mv / var / www / ~ / www
sudo ln -s ~ / www / var / www
sudo chown $ USER: $ USER -R ~ / www
sudo usermod -a -G www-data $ USER
sudo usermod -a -G $ USER www-данные
Создадим папку в которой будем собирать исходники PHP для разных версий
sudo mkdir / usr / local / src / php-build
Также нам понадобится папки для CGI скриптов
sudo mkdir / var / www / cgi-bin
И папка времени выполнения для этих же скриптов, с правами
sudo mkdir / var / run / mod_fcgid
sudo chmod 777 / var / run / mod_fcgid
И так как каталог у нас находится в оперативной памяти, добавим его создание при старте системы, для этого добавим в / etc / tmpfiles.d / fcgid.conf
#Type Path Mode UID GID Age Argument
d / var / run / mod_fcgid 0755 www-data www-data - -
У меня dnsmasq-base идет с коробкой, если нет то его всегда можно доставить.
sudo apt install dnsmasq
Добавим правило в его конфигурацию. Найти файл конфигурации dnsmasq.conf можно так
sudo updatedb
найдите dnsmasq.conf
Либо, если он как и у меня является частью NetworkManager, чтобы создать новый файл конфигурации в / etc / NetworkManager / dnsmasq.d / local.conf
Добавим в него строчку для перенаправление нашего локального домена на локальную машину.
адрес = / loc / 127.0.0.1
Также нужно включить модули апача
sudo a2enmod fcgid vhost_alias Действия переписать
Предварительная подготовка завершена, приступаем к сборке различных локальных версий PHP. Для каждой версии PHP проделываем следующие 4 шага. На примере 5.6.36
1.Скачиваем исходники нужной версии и распаковываем их
cd / usr / local / src / php-build
sudo wget http://pl1.php.net/get/php-5.6.36.tar.bz2/from/this/mirror -O php-5.6.36.tar.bz2
sudo tar jxf php-5.6.36.tar.bz2
2. Cобираем из исходников нужную версию PHP, и помещаем ее в /opt/php-5.6.36
sudo mkdir /opt/php-5.6.36
cd php-5.6.36
sudo ./configure --prefix = / opt / php-5.6.36 --with-config-file-path = / opt / php-5.6.36 --enable-cgi
sudo make
sudo make install
sudo очистить
3.Создаем CGI для обработки этой версии в /var/www/cgi-bin/php-5.6.36.fcgi
#! / Bin / bash
PHPRC = / opt / php-5.6.36 / php.ini
PHP_CGI = / opt / php-5.6.36 / bin / php-cgi
PHP_FCGI_CHILDREN = 8
PHP_FCGI_MAX_REQUESTS = 3000
экспорт PHPRC
экспорт PHP_FCGI_CHILDREN
экспорт PHP_FCGI_MAX_REQUESTS
exec /opt/php-5.6.36/bin/php-cgi
4. Делаем файл исполняемым
sudo chmod + x /var/www/cgi-bin/php-5.6.36.fcgi
5. Добавляем экшен для обработки каждой версии в / etc / apache2 / mods-available / fcgid.conf
AddHandler fcgid-скрипт fcg fcgi fpl
Приложение действия / x-httpd-php-5.6.36 /cgi-bin/php-5.6.36.fcgi
Приложение AddType / x-httpd-php-5.6.36 .php
# Action application / x-httpd-php-7.2.7 /cgi-bin/php-7.2.7.fcgi
#AddType application / x-httpd-php-7.2.7 .php
FcgidIPCDir / var / run / mod_fcgid
FcgidProcessTableFile / var / run / mod_fcgid / fcgid_shm
FcgidConnectTimeout 20
AddHandler fcgid-скрипт .fcgi
6.Добавляем правило для обработки каждой версии в /etc/apache2/sites-available/000-default.conf
# Универсальный ServerNamе
ServerAlias * .loc
# Алиас для CGI скриптов
ScriptAlias / cgi-bin / var / www / cgi-bin
# Универсальный DocumentRoot
VirtualDocumentRoot / var / www /% 2 + / public_html
# Директория тоже должна быть универсальной
<Каталог / var / www / *. Loc />
Параметры + ExecCGI -индексы
AllowOverride All
Заказать разрешить, запретить
Разрешить от всех
# Ниже все условия для каждой из версий
<Если "% {SERVER_NAME} = ~ / 56 \ .. *? \. Loc /">
Приложение SetHandler / x-httpd-php-5.6.36
# По умолчанию, если версия не указанна, запускаем на последней
Приложение SetHandler / x-httpd-php-7.2.7
ErrorLog $ {APACHE_LOG_DIR} / error.журнал
CustomLog $ {APACHE_LOG_DIR} /access.log объединены
Ну вот и всё. Осталось только перезапустить apache и dnsmasq и пользоваться
sudo service apache2 restart
sudo service network-manager перезапуск
Поместим в index.php нового тестового сайта phpinfo () и проверим что все работает. .
Самый детальный обзор локальных серверов для веб-разработки на просторах Рунета
От автора: у вас в руках PSD-макет сайта, и нужно начинать его верстку. Если предстоит создать «визитку», то ничего сложного вас не ждет — лишь сверстать и link в сети. Но если бэк-энд обещает быть непростым, то сайт придется тестировать на сервере вне Интернета — на вашем компьютере. Именно для этого созданного приложения, позволяющие эмулировать работу сервера.Мы решили сделать детальный обзор серверов для веб-разработки и показать, какие инструменты используются в современном девелопменте.
В этой статье мы постараемся не забыть ни одного героя: вспомнить каждую сборку для создания локального сервера, которая была или есть популярной сегодня. Таким образом вы сможете решить, какая из них подходит вам больше всего, а какая вовсе противопоказана.
Битва корифеев: Денвер против открытого сервера
Эта дискуссия продолжается с момента, когда оба приложения были представлены на просторах сети.Причем у каждой из сторон есть свои аргументы. Сегодня мы разберем сильные стороны каждого из них и покажем, кто же все-таки достоин стать орудием работы современного разработчика.
Денвер навсегда
В 2002 году вышла первая версия пакета инструментов, которая имеет аббревиатуру ДНВР — Джентельменский набор Веб-Разработчика. Почти сразу решение набрало большую известность, так как:
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере создания веб-приложения
Узнать подробнее
было просто в установке.Единственное, что требовалось от юзера — это распаковать файлы, а программа настраивала все сама;
набор имеет в своем распоряжении сервер Apache, СУБД MySQL, PHP, Perl, sendmail и многие другие «фишки», которые дополняются от версии к версии;
он стал популярным среди новичков и их учителей: так было легче проиллюстрировать работу серверной части.
Более десяти лет онинировал на арене локальных серверов и даже сейчас находит своих поклонников. Самоучители по верстке сайтов продолжают советовать его для тех, кто только начинает работу в сфере веб-разработки.Денвер абсолютно не перегружает систему. Он работает незаметно для самого пользователя. Единственным напоминанием является дополнительный локальный диск, который по умолчанию имеет имя «Z».
Также, Денвер легко удалить, как только вы решите это сделать (как же этого не хватает современным программам). Это делается отключением и перемещением папки с файлами в корзину.
Но, у него были очень быстро выявлены некоторые недостатки. Вместе со стремительным поиском Интернета, начали набирать хайп веб-продукты, над которыми трудились целые команды девелоперов.И когда нужно было перенести все конфигурации одного локального сервера на другой, требовались большие временные и трудовые ресурсы.
Отсутствие графического интерфейса тоже огорчало. Компьютеры стали высокопроизводительными, и их ресурсы не нужно было экономить. Тот рационализаторский подход, который сделал Денвер известным, оставил его позади в 2013 году.
На горизонте начали появляться новые решения, которые по удобству и функционалу значительно опережали «джентльменский набор».Потому, выход версии Денвера 2013 года стал последним. Была предпринята попытка создать более мощную версию, которая называлась Endels — New Denwer Local Server, но, по стечению обстоятельств, она не набрала той известности, что ее предшественник. Пакет имеет существенное преимущество — Endels уже умел запускать с переносного носителя, на лету переключаться между версиями PHP и наиболее важным, радовал своих пользователей неплохим графическим интерфейсом.
Открытый сервер: шаг навстречу изменениям
Когда этот WAMP / WNMP вышел в свет, то стал своеобразным мессией для веб-разработки.Во-первых, он, как и Денвер, был прост в установке и удалении. Работа с ним была значительно легче благодаря дружелюбному интерфейсу, а функционал впечатлял даже тех гиков, которые любят все установить и настроить вручную. Конечно, даже сайты и приложения с Денвер кое-как «натягивались» на вспомогательные тогда CMS. Но взаимодействие Открытый сервер и уже набравшего оборотов WordPress впечатляло.
Open Server включил в свой пакет веб-сервер Nginx — это более легкий коллега Apache. На момент написания статьи большинство веб-продуктов в мире работают на симбиозе этих двух серверов.Первый хорош для фронтенда: он работает с запросами пользователя и выдает необходимый статический контент, в то время как Apache имеет дело с динамическим. Nginx используется передовыми страницами по всему миру: ваш уютный vk.com и даже Facebook в их числе. Но рассматривать Nginx и Apache как альтернативу друг другу не стоит — лучше всего они проявляют себя при одновременном использовании.
В общем, примечательным отличием Open Server является вариативностью его инструментов. Он предлагает сразу два HTTP-модуля, три СУБД и множество модулей PHP.При этом, переключение между ними не вызывает трудностей у оператора.
Также, несмотря на свою «увесистость», он остается достаточно быстрым. В отличие от Денвера, который даже для своего времени весил чуть больше, чем ничего, Открытый сервер требует внушительный гигабайт памяти на диске и 200 мегабайт ОЗУ. Конечно, для современного читателя это кажется мелочью. Тем более, что большой вес сполна компенсируется портативностью.
Разработчики позиционируют ОС как полностью портативный.Он не засоряет системные файлы, как его предшественники. Также, запуск со съемного носителя полностью решает проблему с большим кругом разработчиков, которую мы включаем выше. Разработчик может просто носить свой «сервер» на флешке и запускать на любом подходящем девайсе.
Большим преимуществом, которое высоко ценят новички, является простота установки. Большинство системных файлов, которые необходимы для корректной работы ОС, либо прикреплены к самой системе, либо прикреплены к установщику.Если последний не находит на машине пользователя нужного элемента, он самостоятельно доустанавливает его. Такой подход сегодня использует другие программы.
XAMPP лучше многих
Это еще одна сборка веб-сервера, которая умерла популярность во времена доминирования Денвера и Открытый сервер, и имеет точно такую же и сейчас. Если аббревиатура WAMP для подобных пакетов означала «Windows, Apache, MySQL, PHP», то разработчики этой платформы решили использовать альтернативу.В их названии «Х» символизирует кроссплатформенность сборки — сервер будет одинаково хорошо работать на всех системах, включая «яблочные».
«M», которая предназначалась для MySQL, отвечает за одно из ответвлений этой системы — MariaDB. Считается, что это весьма перспективная разработка, система которой занялся даже Google, а ведущим разработчиком автор идеи My. Дополнительная «Р» отвечает за поддержку языка Perl — родоначальника такого популярного сегодня PHP.
На самом деле, XAMPP настолько неплохая система, что иногда удивляешься ее посредником среди веб-разработчиков. Пакет обладает весьма достойным интерфейсом, легко устанавливается распаковыванием файлов и позволяет быстро оперировать. Она однозначно лучше Денвера (как почти все современные платформы), и не уступает OS во многих вопросах. Чтобы понять, насколько она проста в использовании, ее можно использовать называть «сборкой лентяя» — отличная характеристика дружелюбности.
Некоторые разработчики отказываются от XAMPP только потому, что UAC от Windows необходимо отключить перед началом работы. Их охватывает страх о том, что программа имеет цель нанести какой-либо вред их компьютерам. Но все похожие выводы, конечно же, ложь. Вся загвоздка в том, что XAMPP был разработан до появления UAC на свет, и, почему-то, не попал в список приложений. Код программы тщательно проинспектирован — он не несет в себе угрозы.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере создания веб-приложения
Узнать подробнее
И если кто-то в вашем окружении назовет XAMPP «перегруженным Денвером», то не обращайте внимания — так было очень давно.Сегодня платформа весьма современна, а ее последняя версия вышла совсем недавно. И хотя общество все же не сделало эту систему фаворитом, в сердце автора этих строк она останется навсегда.
Выбор отважных — VertigoServ
Кроме заезженных Open Server и Denver, в свое время достаточно юзовым и этот программный пакет для имитации работы сервера. Подход разработчиков, судя по всему, был таков: создать лучший вариант, объединив сильные стороны двух самых известных конкурентов.
Vertigo отличался скоростью и стабильностью работы, а также довольно неплохим интерфейс. Кроме этого, создатели решили включить в комплект Zend Optimizer, который немного ускоряет PHP-скрипты. Но, скорее всего, это был лишь маркетинговый ход: данное приложение является единственным продуктом, распространяемым компанией Zend бесплатно. Они же и придумали легенду о том, что скрипт с Оптимизатором становится на 40% быстрее (на самом деле, нет).
На этом его заканчиваются: сегодня вы вряд ли встретите апологетов Vertigo (но вероятность все же есть).Тот же UI, который должен стать преимуществом сервера, не имеет полноценной поддержки русского языка: лишь английский и польский. В то время он поддерживал лишь пятую версию PHP, один веб-сервер и одну СУБД. Возможно, потому и проиграл гонку вооружений. Как результат, Vertigo стал немного лучше Денвера (что еще нужно доказать!) И значительно хуже OpenServer.
ОС — победитель?
В начале 10-х годов это можно было утверждать с уверенностью. Да, он превзошел стал значительно более комфортным, чем остальные WAMP / WNMP с графическим интерфейсом.К тому же, он отлично вооружен даже для современного разработчика.
Open Server продолжает развиваться как платформа веб-разработки: несколько месяцев назад вышла свежая версия. Взаимодействие с тяжелой, но привычной среднестатистическому пользователю WordPress продолжает радовать: они созданы друг для друга. Это также не мешает работать и с другими CMS — локальный сервер хорошо контактирует и с ними.
Если говорить о современном положении вещей, то прогрессивные разработчики отходят от тестирования на OS, предпочтительные профессиональные решения.Почему? Об этом в следующем разделе!
Плеяда свежих решений
на доминирующие позиции Открытый сервер, мы решили немного поговорить о «свежей крови», которая ворвалась в потоке настоящего сборок. В дни, когда основные продукты заняли свои позиции, уже кажется невозможным сделать что-то прорывное. Некоторые решения, по крайней мере, заставляют на них взглянуть.
Яблочный сервер
Все мы помним время, когда увидеть продукцию Apple можно было лишь по телевизору, и то нечасто.Сегодня она заполнила наше окружение: от плееров до полноценных машин. Это же касается и веб-разработки: делать приложение на macOS теперь даже круто.
Вместе с продукцией «Яблока», распространенность ждала и их решение для создания локального сервера под названием MAMP PRO. Он, конечно же, платный, но имеет и вариант для экономных — без приставки, символизирующей профи. Среди преимуществ версий можно назвать интерфейс — конечно же, он отличный (на этом в Apple не экономят).Программа проста в установке и работе, постоянная поддержка не дает отставать от современных тенденций в развитии технологий.
Также, множество ресурсов в MAMP, возникшая на безопасности. Можно ограничить доступ к вашим базам данных. Это нужно, если компьютер использует постоянное подключение к сети. В целом это решение считается наиболее легким в использовании (даже, чем Денвер, да-да!). Как всегда, Apple еще и приложили инструкцию, так что даже ребенок может создать свой локальный сервер и link на нем свой первый сайт.
Недостатком является ограниченный ряд девайсов, которые могут запустить данный пакет. Если вы решили работать с MAMP, значит и вся ваша команда тоже должна работать в MAMP со своих Mac’ов. Это не проблема для больших компаний, но это существенный минус для тех команд, которые собраны для конкретного проекта.
Кстати, если вы думаете, бесплатная версия от Apple имеет ограниченные возможности, то вы неправы. Ее вам хватит, чтобы быть разработчиком для любого проекта — Pro лишь некоторый функционал.
Самый трендовый и прогрессивный
Так можно сказать только об одном решении, которое сокращенно называют VVV. Развернутое название звучит как Varying Vagrant Vagrants и в переводе значит что-то вроде «бродячих бродяг» — автор не нашел связи между названием и сутью.
В отличие от сборок, которые мы обсуждали, VVV никак не подойдет для начинающего пользователя. Это даже не похоже на Открытый сервер и его аналоги. Чтобы создать подобное решение, разработчикам пришлось заглянуть в корень спроса на старое решение: создание окружения для запуска нужных сервисов.Для этой они созданы конфигурации, которые можно свободно взять с GitHub и выполнить на своей машине. Однако для этого вам потребуются еще приложения.
По сути, VVV — это инструкция для компьютера, которую он использует для запуска локального сервера. Чтобы выполнить ее, необходима программа VirtualBox, находится в свободном доступе. Она запускает виртуальную машину и абсолютно не привязана к конкретной платформе, будь то Windows, MacOS или линуксоидная ОС.
Для управления необходимой системой Vagrant.Это что-то вроде менеджера виртуальных машин, с помощью которого вы получите необходимое окружение. В целом, весьма хорош и пользуется спросом среди продвинутых веб-девелоперов. Но, к сожалению, даже самые «зубастые» отмечают этот подход, как чересчур заумный, несмотря на то, что он полностью может удовлетворить WordPress-разработчика.
Выводы вместо заключения
Как бы это иронично ни звучало, но даже некоторые продвинутые разрабы до сих пор используют Денвер и не желают смириться с наступившим 2018 годом.Простота и стабильность работы привлекают их, некоторые недочеты они предпочитают исправлять самостоятельно. Некоторые, даже приспособили ее к «свитчам» CMS в один клик и поддержку всех современных решений для веб-девелопмента.
В целом можно уверенно заявить о том, что все платформы хорошо находят своего пользователя. Это как ситуация с CMS: WоrdPress известней всех, но веб-разработчики находят инструменты и получше. Каждый человек использует то, что ему удобно. И дело здесь не всегда во вкусах и предпочтениях.Большую роль играет та задача, которую он выполняет.
Например, для создания лендингов, которые лидируют среди прочих платформ, то же хорошо будет и Денвер, и OpenServer, и все другие платформы. При изменении задач, которые стоят перед девелопером, он приспосабливается и изменяет те инструменты, которые используются ранее.
OS не всегда справляется в вопросах портативности системы, в то время как VVV легко решает эту проблему. Также, ни одна программа не будет так хороша для новичка, в плане работы настоящего веб-сервера.Ну а если вы собрали большую команду со всех уголков мира, часть из которых заведенные юникс-хеды, и другая не видят жизни без уютных окошек ОС Windows, то смело давайте им команду использовать XAMPP.
Также, до сих пор «рабочих» является мануальная настройка локального сервера. Самые продвинутые пользователи самостоятельно устанавливают все компоненты. Они не желают перегружать систему балластом, а сами формируют свой пакет. Как правило, набор средней руки — это «Apache + РНР + MySQL».Все остальные утилиты укомплектовываются согласно разрабатываемого веб-приложения или сайта.
Не стоит также забывать, что в сети до сих пор существуют фанаты таких сборок, как WampServer, EasyPHP, AppServ и другие. Их существование также трудно доказать, но говорят сами за себя: обновленные версии датируются 2017–2018 годами.
Делаем вывод: идеального решения нет. Есть те, которые подходят под конкретную ситуацию, возможности и цели исполнителя.На этом мы и заканчиваем наш обзор. Пользуйтесь тем, что вам удобно в каждом конкретном случае и следите за новостями веб-разработок!
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере создания веб-приложения
Узнать подробнее
PHP-Мастер
От теории до собственной CMS интернет-магазина
Подробнее.
$ _SERVER — Информация о сервере и среде исполнения | Руководство по PHP
(PHP 4> = 4.1.0, PHP 5, PHP 7)
$ _SERVER — $ HTTP_SERVER_VARS [удалено] — Информация о сервере и среде исполнения
Описание
Переменная $ _SERVER — это массив, предоставленную информацию,
такую как заголовки, пути и местоположения скриптов. Записи в этом массиве
трафик веб-сервером. Нет гарантии, что
каждый веб-сервер предоставит любую из них; сервер может опустить некоторые из них
или предоставить другие, не используйте здесь.Тем не менее, многие
эти переменные присутствуют в »спецификации CGI / 1.1, так что
вы можете их ожидать их реализации и в конкретном веб-сервере.
Переменная $ HTTP_SERVER_VARS содержит ту же начальную
информацию, но она не суперглобальная.
(Заметьте, что $ HTTP_SERVER_VARS и $ _SERVER
являются разными переменными, так что PHP обрабатывает их соответственно).
Также учтите, что «длинные массивы» были удалены в версии PHP 5.4.0, поэтому
$ HTTP_SERVER_VARS больше не существует.
Индексы
Вы можете найти (а можете и не найти) любой из следующих элементов в массиве
$ _SERVER . Заметьте, что немногие элементы, если вообще такие найдутся,
будут доступны (или действительно будут иметь значение),
если PHP запущен в отдельной строке.
- ‘ PHP_SELF ‘
Имя файла скрипта, который сейчас выполняется, относительно
корня документов.Например, $ _SERVER [‘PHP_SELF’] в скрипте
по адресу http://example.com/foo/bar.php
будет /foo/bar.php .
Константа __FILE__
содержит полный путь и имя текущего файла (то есть
подключенного) файла.Если PHP запущен в отдельной строке, эта переменная содержит
имя скрипта, начиная с PHP 4.3.0. Раньше она была недоступна.- ‘argv’
Массив аргументов, переданных скрипту.Когда скрипт
запущен в строке, это дает C-подобный доступ
к параметрам строки строки. Когда вызывается через метод GET,
этот массив будет содержать строку запроса.- ‘argc’
Содержит количество параметров, переданных скрипту
(если запуск произведен в отдельной строке).- ‘ GATEWAY_INTERFACE ‘
Содержит используемую сервером версии спецификации CGI;
к примеру ‘ CGI / 1.1 ‘.- ‘ АДР_СЕРВЕРА ‘
IP-адрес сервера, на котором выполняется текущий скрипт.
- ‘ SERVER_NAME ‘
Имя хоста, на котором выполняется текущий скрипт.
Если скрипт выполняется на виртуальном хосте,
здесь будет имя, определенное для этого виртуального хоста.- ‘ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ‘
Строка идентификации сервера, указанная в заголовках,
когда происходит ответ на запрос.- ‘ SERVER_PROTOCOL ‘
Имя и версия информационного протокола, через который
была запрошена страница; к примеру ‘ HTTP / 1.0 ‘;- ‘ REQUEST_METHOD ‘
Какой метод был использован для запроса страницы; к примеру ‘ GET ‘,
« ГОЛОВКА », « POST », « PUT ».Замечание :
PHP скрипт завершается после посылки заголовков (то есть после того, как
выполняет любой вывод без буферизации вывода), если запрос был осуществлен
методом ГОЛОВА .- ‘ ВРЕМЯ ЗАПРОСА ‘
Временная метка начала запроса. Доступна, начиная с PHP 5.1.0.
- ‘ REQUEST_TIME_FLOAT ‘
Временная метка начала запроса с точностью до микросекунд.Доступна, начиная с PHP 5.4.0.
- ‘ QUERY_STRING ‘
Строка запросов, если есть, с помощью которой была получена страница.
- ‘ DOCUMENT_ROOT ‘
Директория корня документов, в которой выполняется текущий скрипт,
в точности та, которая указана в конфигурационном файле сервера.- ‘ HTTP_ACCEPT ‘
Содержимое заголовка Принять: из текущего запроса,
если он есть.- ‘ HTTP_ACCEPT_CHARSET ‘
Содержимое заголовка Accept-Charset: из
текущий запрос, если он есть. Например:
‘ iso-8859-1, *, utf-8 ‘.- ‘ HTTP_ACCEPT_ENCODING ‘
Содержимое заголовка Accept-Encoding: из
текущий запрос, если он есть.Например: ‘ gzip ‘.- ‘ HTTP_ACCEPT_LANGUAGE ‘
Содержимое заголовка Accept-Language: из
текущий запрос, если он есть. Например: ‘ en ‘.- ‘ HTTP_CONNECTION ‘
Содержимое заголовка Подключение: из
текущий запрос, если он есть.Например: ‘ Keep-Alive ‘.- ‘ HTTP_HOST ‘
Содержимое заголовка Хост: из
текущий запрос, если он есть.- ‘ HTTP_REFERER ‘
Адрес страницы (если есть), которая привела браузер пользователя на эту страницу.
Этот заголовок устанавливается веб-браузером пользователя.Не все браузеры устанавливают его и некоторые в качестве дополнительных
возможности редактора содержимого заголовка
HTTP_REFERER . Одним словом, в самом деле ему нельзя доверять.- ‘ HTTP_USER_AGENT ‘
Содержимое заголовка User-Agent: из
текущий запрос, если он есть. Эта строка содержит обозначение
Поиск через систему, к которой пользователь запросил систему.Типичным
примером является строка: Mozilla / 4.5 [en] (X11; U;
Linux 2.2.9 i586). Среди прочего, вы можете
использовать это значение с функцией get_browser ()
чтобы адаптировать вывод вашей страницы к возможностям пользователя- ‘ HTTPS ‘
Принимает непустое значение, если запрос был произведен через протокол HTTPS.
Замечание :
Обратите внимание, что при использовании ISAPI с IIS значение будет
со скидкой , если запрос не был произведен через протокол HTTPS.- ‘ REMOTE_ADDR ‘
IP-адрес, пользователь которого просматривает текущую страницу.
- ‘ REMOTE_HOST ‘
Удаленный хост, пользователь которого просматривает текущую
страницу. Обратный просмотр DNS базируется на обратном значении.
REMOTE_ADDR .Замечание :
Ваш веб-сервер должен быть настроен, чтобы создать эту переменную.
Для примера, в Apache вам необходимо присутствие директивы
HostnameLookups On в файле httpd.conf , чтобы эта
переменная создавалась. См. также gethostbyaddr ().- ‘ УДАЛЕННЫЙ ПОРТ ‘
Порт на удаленной машине, который используется для связи с веб-сервером.
- ‘ REMOTE_USER ‘
Аутентифицированный пользователь.
- ‘ REDIRECT_REMOTE_USER ‘
Аутентифицированный пользователь, если запрос был перенаправлен изнутри.
- ‘ SCRIPT_FILENAME ‘
Абсолютный путь к скрипту, который в данный момент исполняется.
Замечание :
Если скрипт запускается в отдельной строке (CLI), используя
относительный путь, такой как file.php или
../file.php , переменная
$ _SERVER [‘SCRIPT_FILENAME’] будет
относительный путь, содержит содержащуюся.- ‘ SERVER_ADMIN ‘
Эта переменная получает свое значение (для Apache) из директивы
конфигурационного файла сервера.Если скрипт запущен на
виртуальном хосте, это будет значение,
определенное для данного виртуального хоста.- ‘ СЕРВЕРНЫЙ ПОРТ ‘
Порт на компьютере сервера, используемый веб-сервером для соединения.
Для установок по умолчанию, значение будет ‘ 80 ‘;
используя SLL, например, это будет такое, какое сконфигурировано
для соединений безопасного HTTP.Замечание :
Чтобы получить физический (реальный) порт в Apache 2, необходимо
установить UseCanonicalName = На и
UseCanonicalPhysicalPort = On , иначе это значение
может быть подменено и не вернуть реальное значение физического порта.
Полагаться на это значение небезопасно в контексте приложений, требующихся
усиленной безопасности.- ‘ ПОДПИСЬ_СЕРВЕРА ‘
Строка, содержащая версию сервера и имя виртуального хоста, которые
добавляются к генерируемым сервером страницам, если включено.- ‘ PATH_TRANSLATED ‘
Файловая система (не корень документа) путь к текущему
скрипт, после того, как сервер выполнил любое виртуальное
отображение.Замечание :
Начиная с PHP 4.3.2, переменная PATH_TRANSLATED больше
не устанавливается неявно в Apache 2 SAPI, по сравнению
с Apache версии 1, где она устанавливается в то же самое значение, что
и переменная SCRIPT_FILENAME, когда она не используется Apache.Это изменение было сделано для соответствия спецификации CGI, где
переменная PATH_TRANSLATED должна существовать только тогда, когда
PATH_INFO определена.Пользователи Apache 2 могут использовать директиву
AcceptPathInfo = На в конфигурационном файле
httpd.conf для задания PATH_INFO.- ‘ SCRIPT_NAME ‘
Содержит путь, к текущему исполняемому скрипту.Это полезно для страниц,
которые должны указывать на себя.
Константа __FILE__
содержит полный путь и имя текущего (т.е. включаемого) файла.- ‘ REQUEST_URI ‘
URI, который был передан для того, чтобы получить доступ к этой странице.
Например, ‘ /index.html ‘.- ‘ PHP_AUTH_DIGEST ‘
При выполнении HTTP Digest аутентификации, данной присваивается
заголовок ‘Authorization’, который присылается клиентом (его необходимо
затем использовать для использования валидации).- ‘ PHP_AUTH_USER ‘
Когда выполняется HTTP-аутентификация, данная присваивается
имя пользователя, предоставленное предоставленное.- ‘ PHP_AUTH_PW ‘
Когда выполняется HTTP-аутентификация, данная присваивается
пароль, предоставленный пользователь.- ‘ AUTH_TYPE ‘
Когда выполняется HTTP-аутентификация, данная присваивается
тип аутентификации, который используется.- ‘ PATH_INFO ‘
Содержит любой предоставленный путь, предоставленный после
имени скрипта, но до строки запроса, если доступно.
Например, если текущий скрипт запрошен по URL
http://www.example.com/php/path_info.php/some/stuff?foo=bar ,
то переменная $ _SERVER [‘PATH_INFO’] будет содержать
/ некоторые / вещи .- ‘ ORIG_PATH_INFO ‘
Исходное значение ‘ PATH_INFO ‘ до начала
обработки PHP.
Список изменений
Версия | Описание |
---|---|
5.4.0 | Массив $ HTTP_SERVER_VARS больше не доступен в связи с удалением «длинных массивов». |
5.3.0 | Директива register_long_arrays, которая приводила к заполнению $ HTTP_SERVER_VARS помечена как устаревшая. |
4.1.0 | Введена переменная $ _SERVER вместо старой $ HTTP_SERVER_VARS . |
Примеры
Пример # 1 Пример использования $ _SERVER
echo $ _SERVER ['SERVER_NAME'];
?>
Результат выполнения данного примера
будет что-то подобное:
Примечания
Замечание :
Это ‘суперглобальная’ или
автоматическая глобальная переменная.Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости
выполнять глобальную переменную $; для доступа к ней внутри метода или функции.
Смотрите также
Вернуться к: Предопределённые переменные
.