Для загрузки Apache 2.4 откройте браузер и перейдите на сайт apachelounge.com .
В зависимости от того, какая разрядность Вашей системы, скачайте архив либо для Apache 2.4.25 Win64
, либо для Apache 2.4.25 Win32
.
После этого загрузите службу vc_redist
.
После перехода по ссылке откроется следующее окно. Выберете язык Русский
(для удобства) и нажмите на кнопку Скачать
.
Далее поставьте галочку возле vc_redist.x64.exe
и нажмите Next
.
После того, как Вы скачали vc_redist
, введите в адресной строке браузера windows.php.net/download
для загрузки PHP
. Далее в разделе PHP 7.0 (7.0.16)
скачайте архив zip
либо VC14 x86 Thread Safe (2017-Feb-14 22:22:54)
, либо VC14 x64 Thread Safe (2017-Feb-14 22:22:54)
.
Всё, что нужно, Вы скачали. Теперь установите саму службу vc_redist
на компьютер. Запустите у себя в загрузках vc_redist.x64.exe
. Откроется следующее окно, нажмите Запустить
.
После нажмите галочку возле Я принимаю условия лицензии
и нажмите Установить
.
Далее перейдите в Компьютер
=> Локальный диск (С:)
и создайте папку WEB
, в которую будете устанавливать Apache
и PHP
. Внутри папки WEB
создайте папку php
. После этого откройте архив с Apache
и извлеките папку Apache24
в папку WEB
. Далее откройте архив с PHP
и всё содержимое извлеките в папку php
в папке WEB
.
Наконец, Вы можете перейти к настройке Apache 2.4
. В папке WEB
откройте папку Apache24
, а в ней папку conf
. Внутри папки conf
есть файл httpd.conf
. Откройте его в текстовом редакторе. Нужно в файле httpd.conf
указать, где располагается Apache
. То есть нужно во всех местах добавить папку WEB
перед Apache24
. Для этого нажмите Ctrl + F
=> Заменить
. В строке Найти:
напишите c:/
, а в строке Заменить на:
напишите c:/WEB/
. После нажмите Заменить всё
.
Далее опуститесь в самый низ файла и добавьте следующие 3 строчки:
LoadModule php7_module "c:/WEB/php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "c:/WEB/php"
PHP - файла php.ini
.
После нажмите Ctrl + F
и в поле Найти:
напишите documentroot
и нажмите Enter
.
Но перед тем, как Вы что-то измените дальше, перейдите в папку WEB
=> Apache24
=> htdocs
и создайте здесь папку www
. Затем поместите стандартный файл index.html
в созданную папку www
.
Возвращайтесь к текстовому документу и добавьте папку www
в строчку DocumentRoot "c:/WEB/Apache24/htdocs"
как показано на картинке ниже.
Далее нажмите Ctrl + F
и в поле Найти:
введите directoryindex
. Нажмите Enter
.
В строчке DirectoryIndex index.html
допишем перед index.html
index.php
. То есть, когда Вы будете заходить на Ваш сайт, в первую очередь будет загружаться index.php
.
Если Вы хотите использовать файл .htaccess
, то нужно в строке AllowOverride None
вместо None
написать All
.
Далее перейдите в папку WEB
=> php
. Найдите файл php.ini-development
. В его имени удалите -development
, оставьте php.ini
. Откройте файл php.ini
в текстовом редакторе. Нажмите Ctrl + F
и в поле Найти:
введите extension_dir
. Нажмите Enter
.
Раскомментируйте строку ; extension_dir = "./"
(удалите ;
) и укажите в какой папке будет работать php код. Далее в строке doc_root =
укажите "c:/WEB/php/ext"
.
После этого прокрутите файл немного вниз и раскомментируйте 2 верхние библиотеки, как показано на картинке ниже.
Теперь Вы можете заняться установкой самого Apache
. Нажмите комбинацию клавиш Windows + R
. После в поле Открыть:
напишите cmd
и нажмите ОК
.
Далее напишите в командной строке c:\WEB\Apache24\bin\httpd.exe -k install
.
Нажмите Enter
и Apache 2.4
установится. Чтобы запустить Apache
, перейдите в папку WEB
=> Apache24
=> bin
. Запустите ApacheMonitor.exe
. Затем нажмите правой кнопкой мыши на иконку Apache
в правом нижнем углу рабочего стола и нажмите Start
.
Проверьте, работает ли Apache
. Для этого откройте браузер, в адресной строке введите localhost
и нажмите Enter
. Если у Вас появилась надпись It works!
, как на картинке ниже, то Вы всё сделали правильно.
На PHP написано много хороших приложений. Даже нет,
очень много и некоторые из них очень хорошие, так почему бы не использовать эти
приложения на Windows? Особенно, если внутренний портал работает на Windows, а
на Unix машине крутиться внешний сайт компании - тогда
можно сэкономить на инфраструктуре и разместить на Windows
сервере еще и внешний сайт. Либо, если есть желание стандартизировать
инфраструктуру и размещать сайты на Windows
платформе, поскольку разработчики и пользователи работают на
Windows платформе.
На сайте www.iis.net
можно найти
список
популярных PHP приложений
с инструкциями по установке на IIS. Для их запуска
на IIS не требуется изменения
PHP кода.
Установка и настройка PHP для использования с модулем FastCGI.
Для начала, чтобы успешно использовать PHP наWindows, неплохо было бы PHP
установить.
Шаг 1. Скачать PHP
На сайте PHP.net нужно скачать
последную версию PHP для Windows . Для использования с FastCGI рекомендуется
устанавливать версию PHP без контроля безопасности потоков, поскольку сам модуль
FastCGI гарантирует, что выполнение происходит в одном потоке и поддержка
контроля безопасности потоков в самом PHP привносит лишние проверки и
блокировки, приводящие к значительному падению производительности. Поэтому
выбираем Non-thread-safe Win32 binaries (версия 5.2.6 актуальна на момент написания
этого сообщения).
Стоит отметить, что веряим Non-thread-safe была разработана специально для
работы с FastCGI на IIS (первый релиз был в версии 5.2.1) и использовать в
других средах не рекомендуется. Кстати, начиная с версии 5.2.2 Zend серьезно
работает над оптимизацией производительности PHP под Windows, что не может не
радовать. Если сравнить версии 5.2.1 и 5.2.2, то разницу в скорости обработки
запросов можно легко увидеть с помощью простого нагрузочного теста.
Шаг 2. Установка PHP
Установка осуществляется совсем просто: поскольку мы скачали архив с
исполнимыми файлами, достаточно развернуть этот архив, например, в
директорию C:\Web\PHP.
В качестве базовой конфигурации воспользуемся рекомендованными установками:
cделаем копию файла php.ini-recommended в php.ini в этой же директории и откроем
его для редактирования, после чего пройдем файл сверху расскоментируя следующие
строки, дабы обеспечить безопасность и совместимость с большинством PHP
приложений:
- open_basedir = директория, где размещены PHP приложения
.
Указание директории ограничит права доступа к файлам PHP приложений только
этой директорией. Удобно переопределять эту настройку в файлах конфиграции
непосредственно для каждого приложения, однако не помешает установить эту
настройку и указать корневую директорию всех PHP приложений. Например, C:\inetpub\PhpSites. - cgi.force_redirect = 0
По умолчанию установлено 1, но необходимо установить в 0, поскольку IIS
контролирует безопасность выполнения PHP и в этой настройке нет
необходимости. Более того, включение может привести к неожиданным
результатам. При использовании с другими web-серверами на Windows эту
настройку необходимо включить. - cgi.fix_pathinfo = 1
PHP будет устанавливать имя файла в переменной SCRIPT_FILENAME, если
установить значение 0, то имя файла будет в переменной PATH_TRANSLATED, что
может нарушить совместимость с большинством приложений. - fastcgi.impersonate = 1;
FastCGI позволяет процессу имперсонироваться используя контекст клиента,
вызывающего процесс. Этот механизм работает только под FastCGI/IIS, например
на Apache на Windows это работать не будет. - short_open_tag = On
Большинство приложений используют короткие теги ?>, поэтому будет не
лишним включить их поддержку. - display_errors = On
На время проверки и отладки PHP приложений на FastCGI стоит включить вывод
сообщений об ошибках.
Пока мы не сконфигурировали IIS, проверить работоспособность интерпретатора
можно просто, например, выполнив команду c:\web\php\php.exe -info > c:\test.txt
Установка и настройка модуля FastCGI на IIS7.
Если у вас у IIS7, то что-то мне подсказывает о названии вашей операционнойсистемы - Windows Vista? Не угадал, тогда Windows Server 2008! Либо вы хакер и
поставили IIS7 еще-куда-то, но это нестандартное решение и мы его не
поддерживаем;).
Шаг 1. Установка FastCGI
Хочу обрадовать сразу - в IIS7, идущем с Windows Server 2008 и Windows Vista
Service Pack 1 модуль FastCGI уже включен. Его необходимо лишь подключить в
настройках. Для этого на Vista нужно открыть Control Panel -> Programs и выбрать
«Turn Windows Features On or Off»:
После этого необходимо установить фичу в IIS: Internet Information Services
-> World Wide Web Services -> Application Development Features -> CGI. При этом
будет установлена поддержка и CGI и FastCGI.
На Windows Server 2008 процесс аналогичен: Server Manager -> Roles -> Add
Role Services -> Web Server -> Application Development -> CGI.
Собственно все, что требуется для включения модуля FastCGI.
Шаг 2. Конфигурация IIS7
1. Открыть IIS Manager, выбрать узел (сервер) для которого нужно настроить
поддержку PHP. И далее выбрать Handler Mappings.
2. Выбираем на странице Handler Mappings ссылку Add Module Mapping и
заполняем окно следующими значениями:
Request path: *.php (обработка всех файлов с расширением.php)
Module: FastCgiModule (модуль FastCGI)
Executable: C:\Web\PHP\php-cgi.exe (путь к PHP)
Name: PHP (имя для удобства)
После добавления этой настройки появится окно с вопросом о регистрации
FastCGI приложения для этого обработчика. Подтверждаем.
Описанные выше действия привели к созданию в директории PhpSites следующего
web.config файла:
xml version =«1.0» encoding =«UTF-8» ?>
< configuration >
< system.webServer >
< handlers >
< add name =«PHP» path ="*.php" verb ="*"
modules =«FastCgiModule» scriptProcessor ="C:\Web\PHP\php-cgi.exe "
resourceType =«Unspecified» />
handlers >
system.webServer >
configuration >
Теперь можно переходить к проверке работоспособности PHP.
Шаг 3. Проверяем корректность настройки
В директории узла для которого мы сконфигурировали PHP создаем файл
index.php:
phpinfo();
?>
И обращаемся к этому файлу через HTTP запрос. В результате, если все хорошо и
наша карма не испорчена, запрос будет корректно обработан:
IIS7 могут возникать подводные камни, с которыми нужно
бороться, чтобы достичь ожидаемого результата (замечательной работы
PHP приложений на Windows).
Молотки для разбивания часто встречающихся камней приведены ниже.
Частота перезапуска процессов PHP
Поскольку при использовании PHP на
IIS7 с использованием FastCGI
модуля, сам модуль FastCGI берет на себя
управление процессами и ресурсами, необходимо убедится, что механизм перезапуска
процессов (recycling) в PHP
не будет мешать FastCGI. Это легко сделать, если
настроить FastCGI так, чтобы он всегда перезапускал
процессы раньше, чем это сделает PHP.
В настройках FastCGI существует настройка
instanceMaxRequests, определяющая после обработки какого количества запросов,
процесс будет перезапущен. В PHP аналогичный параметр
задается значением переменной PHP_FCGI_MAX_REQUESTS. Очевидно, чтобы дать
возможность FastCGI рулить процессом, достаточно
установить instanceMaxRequests <= PHP_FCGI_MAX_REQUEST.
Это удобно сделать, отредактировав файл
applicationHost.config (прячется в директории C:\windows\system32\inetsrv\config\).
В конфигурации должна быть следующая информация:
< fastCgi >
< application fullPath ="C:\inetpub\php\php-cgi.exe "
maxInstances =«4» instanceMaxRequests =«10000» >
< environmentVariables >
< environmentVariable name =«PHP_FCGI_MAX_REQUESTS» value =«10000» >
environmentVariables >
application >
fastCgi >
Использование нескольких версий PHP
Поскольку разные версии PHP могут использоваться вприложениях, которые размещаются на сервере, то хорошо бы было дать возможность
использовать разные версии для разных сайтов.
В файле конфигурации applicationHost.config
достаточно определить секции для разных версий PHP:
< fastCgi >А уже для каждого из сайтов конфигурируется модуль, использующий ту или иную
< application fullPath =«C:\inetpub\php\php-cgi.exe» >
...
application >
< application fullPath =«C:\inetpub\php4\php4.exe» >
...
application >
< application fullPath =«C:\inetpub\php41\php41.exe» >
...
application >
fastCgi >
* This source code was highlighted with .
версию (можно использовать интерфейс, который описан выше, а можно
отредактировать конфигурацию в тексте):
< handlers >
< add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
scriptProcessor ="C:\inetpub\php\php41.exe "
resourceType =«Unspecified» />
handlers >
* This source code was highlighted with .
Использование разных наборов настроек PHP
Если есть желание настраивать PHP по-разному дляразных сайтов, то опять же все это можно описать через настройки конфигурации в
applicationHost.config.
< fastCgi >
< application fullPath ="C:\inetpub\php\php-cgi.exe "
arguments ="-d my.website=wordpress" >
< environmentVariables >
< environmentVariable name =«PHPRC» value =«C:\inetpub\wordpress» />
environmentVariables >
application >
< application fullPath ="C:\inetpub\php\php-cgi.exe "
arguments ="-d my.website=phpsite" >
< environmentVariables >
< environmentVariable name =«PHPRC» value =«C:\inetpub\phpsite» />
environmentVariables >
application >
fastCgi >
* This source code was highlighted with .
После этого, настройки связываются с соответствующими сайтами в
web.config:
< system.webServer >
< handlers accessPolicy =«Read, Script» >
< add name =«PHP» path ="*.php" verb ="*" modules =«FastCgiModule»
scriptProcessor ="C:\inetpub\php\php-cgi.exe|-d my.website=wordpress "
resourceType =«Unspecified» requireAccess =«Script» />
handlers >
system.webServer >
* This source code was highlighted with .
В соответствии с приведенной конфигурацией, php.ini
нужно разместить в директории каждого из сайтов.
При редактировании настроек, стоит строго соблюдать совпадение путей к
соответствующей версии PHP и с
applicationHost.config и в web.config, чтобы
избежать неожиданных результатов, если пути будут перепутаны.
На первый взгляд редактирование конфигурации может показаться сложным и
неудобным процессом, но как только вы привыкните к конфигурации в
XML и распространению настроек методом
Ctrl+C, Ctrl+V, вы будете удивляться наличию других
способов конфигурации:)
Настройки безопасности PHP
В php.ini мноо разных настроек, многие из которыхвлияют на безопасность использования PHP. Настроить
все подходящим образом, достойное дело.
Set allow_url_fopen=Off
; использование URL для операций с файлами
Set allow_url_include=Off
register_globals=Off
; отмена регистрации глобальных переменных
open_basedir=«c:\inetpub\» ;
ограничение на директорию, в которой работает PHP
Max_execution_time=30 ; ограничение
времени выполнения скриптов
max_input_time=60
memory_limit=16M ;
ограничение на размер используемой памяти
upload_max_filesize=2M
post_max_size=8M
max_input_nesting_levels=64
display_errors=Off
; отключение сообщений об ошибках
log_errors=On
error_log=«C:\error.log»
expose_php=Off
; скрыть присутствие PHP
Заключение
PHP на Windows - это непросто интересно и удобно, главное, что это работает. А команда
IIS работает над тем, чтобы PHP
работал на Windows не хуже, чем на
Unix/Linux (конечно, стараются сделать лучше).
Поскольку это новая тема для Microsoft, то мы можем
сделать какие-то ошибки, можем чего-то не замечать и не понимать, поэтому нам
очень важно получать комментарии от вас - разработчиков и администраторов.
Пишите в комментариях ваши пожелания и проблемы, которые вы видите сейчас в
PHP на Windows, а мы будем
стараться проблемы решать, а пожелания реализовывать.
Теги: Добавить метки
В этой статье мы покажем вам, как установить PHP 7.2 на Ubuntu 16.04. PHP (Hypertext Preprocessor) – это язык сценариев на стороне сервера с открытым исходным кодом, предназначенный в основном для создания динамических интерактивных веб-сайтов. PHP является одним из самых популярных языков и свободно доступен для перераспределения и модификаций. PHP можно запускать практически на любом веб-сервере (например, Apache) и на каждой платформе ОС (Linux, Mac OS, Windows). PHP 7.2 был официально выпущен в прошлом году. В последней версии PHP 7.2 есть новые и улучшенные функции и функции, которые позволят разработчикам лучше писать код.
Требования:
- Для целей данного руководства мы будем использовать Ubuntu VPS. Наш уже поставляется с предустановленным рабочим стеком LAMP. Тем не менее, мы все равно проведем все необходимые шаги и покажем вам, как устанавливать и настраивать стек LAMP самостоятельно, если вы делаете это на чистом сервере.
- Также необходим полный доступ к SSH-корню или .
Шаг 1. Подключение к вашему серверу через SSH и обновление пакетов сервера.
Прежде чем мы начнем, давайте качестве пользователя root и обновим ваши пакеты ОС Ubuntu до последней доступной версии.
Чтобы подключиться к вашему серверу через SSH в качестве пользователя root, используйте следующую команду:
Ssh root@IP_ADDRESS -p PORT_NUMBER
Замените «IP_ADDRESS» и «PORT_NUMBER» на ваш фактический IP-адрес сервера и номер порта SSH.
После установки убедитесь, что пакеты вашей серверной ОС обновлены, выполнив следующие команды:
Apt-get update apt-get upgrade
Если вы впервые входите в свой новый Ubuntu VPS, вы также можете проверить нашу статью о для некоторых дополнительных базовых настроек и безопасности.
Шаг 2. Установка веб-сервера
В этом разделе мы покажем вам, как установить веб-сервер на свой VPS. Мы можем установить Apache или nginx в качестве веб-сервера. Для целей этого руководства мы установим веб-сервер Apache. Apache – это быстрый и безопасный веб-сервер и один из самых популярных и широко используемых веб-серверов в мире.
Чтобы установить веб-сервер Apache, выполните следующую команду на своем сервере:
Apt-get install apache2
По завершении установки вы должны запустить Apache:
Systemctl start apache2
Кроме того, вы можете включить Apache для автоматического запуска при загрузке сервера:
Systemctl enable apache2
Чтобы проверить статус веб-сервера Apache и убедиться, что он запущен и работает, вы можете использовать следующую команду:
Systemctl status apache2
Чтобы убедиться, что Apache запущен, вы также можете открыть веб-браузер и ввести IP-адрес своего сервера (например, http://your_server_ip_address ). Если Apache успешно установлен, вы должны увидеть страницу приветствия по умолчанию Apache.
Шаг 3: Установите PPD Ondřej Surý
PHP 7.2 можно установить с помощью PPA Ondřej Surý, поэтому установите software-properties-common и python-software-properties:
Sudo apt-get install software-properties-common python-software-properties
Затем добавьте ondrej PPA и обновите свои источники:
Sudo add-apt-repository -y ppa:ondrej/php sudo apt-get update
Шаг 4. Установка PHP 7.2.
Установите PHP 7.2, используя следующую команду:
Sudo apt-get install php7.2 php7.2-cli php7.2-common
Шаг 5: Поиск и установка определенных расширений PHP 7.2
Если вы хотите установить определенное расширение PHP 7.2, вы можете выполнить поиск, если он доступен, используя следующую команду:
Sudo apt search php7.2
Шаг 7. Установка наиболее часто используемых расширений PHP.
Чтобы установить наиболее часто используемые расширения PHP, вы можете использовать следующую команду:
Sudo apt-get install php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-intl php7.2-mysql php7.2-xml php7.2-zip
Шаг 8: Проверьте установку PHP
Используйте следующую команду, чтобы проверить версию PHP, установленную на вашем сервере:
Вы должны получить следующий результат:
PHP 7.2.9-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Aug 19 2018 07:16:12) (NTS) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9-1+ubuntu16.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Теперь PHP 7.2 был установлен на вашем сервере Ubuntu, и если мы хотим изменить версию PHP по умолчанию на PHP 7.2, которая используется веб-сервером, нам нужно отключить старую версию PHP 7.0 и включить вновь установленную.
Отключить php 7.0
a2dismod php7.0Включить php 7.2
a2enmod php7.2Перезапустите веб-сервер Apache, чтобы изменения вступили в силу:
Systemctl restart apache2
Чтобы протестировать вашу установку и проверить, что расширения Apache, PHP и PHP работают правильно, создайте новый файл info php:
Vi /var/www/html/phpinfo.php
Добавьте к нему следующий контент:
Откройте файл «phpinfo.php» с помощью веб-браузера:
Http://
и посмотрите текущую информацию о PHP на вашем сервере.
Вот и все. Вы успешно установили PHP 7.2 на сервере Ubuntu 16.04. Для получения дополнительной информации о PHP 7 обратитесь к официальной документации PHP: http://php.net/docs.php.
В первой статье мы рассмотрели как установить Apache на Windows7 . Теперь рассмотрим как подключить к нашему серверу язык php.
Установка PHP
1) Качаем zip архив с php с сайта http://windows.php.net/download/ . Я выбрал Thread Safe — php-5.3.5-Win32-VC6-x86.
2) Разархивируем php в папку c:/php-5.3.5/
3) Подключаем php к Apache. Открываем файл httpd.conf . Он находится в папке conf в месте куда у вас установился Apache. У меня это C:Program Files (x86)Apache Software FoundationApache2.2conf .
Для подключения php, в качестве модуля, необходимо добавить всего 3 инструкции в файл httpd.conf:
{codecitation}
LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
AddType application/x-httpd-php phtml php
PHPIniDir «c:/php-5.3.5/»
{/codecitation}
Эти строки следует поместить в примерно в середину файла httpd.conf, например, сразу после директив LoadModule. У меня они заканчиваются на 128 строке файла. Конкретное расположение этих директив не имеет принципиального значения, однако нельзя помещать их в начале, а также и в самом конце файла httpd.conf.
Примечание.
- Первая строка загружает модуль PHP, реализованный в библиотеке php5apache2_2.dll
- Вторая строка устанавливает соответствие между файлами с расширением php и mime-типом application/x-httpd-php, который обрабатывается модулем PHP.
- Третья строка позволяет явно указать расположением конфигурационного файла php.ini.
4) Создание конфигурационного файла в php. В директории c:/php-5.3.5 находятся несколько шаблонов конфигурационных файлов. В качестве основы возьмем файл c:/php-5.3.5/php.ini-production и переименуем его в php.ini .Таким образом, конфигурационный файл PHP (php.ini) будет располагаться в директории c:/php-5.3.5 и именно в него должны вносится все изменения конфигурации PHP.
После внесения изменений в httpd.conf и создания файла php.ini перезагрузите Apache.
5) Проверка. В папке C:Program Files (x86)Apache Software FoundationApache2.2htdocs создайте файл index.php с кодом:
{codecitation}
{/codecitation}
Теперь зайдите в браузере по адресу http://localhost/index.php . Если все сделано правильно — вы увидите фиолетовую таблицу с настройками php.
Дополнительные настройки php
Включите поддержку короткой записи php, в php.ini найдите функцию short_open_tag, и включите её: short_open_tag = On
В php.ini укажите путь к расширениям php, для этого раскоментируйте и заполните строку extension_dir. Вот как она выглядит у меня:
{codecitation}
extension_dir = «c:/php-5.3.5/ext»
{/codecitation}
{codecitation}
extension=php_mbstring.dll
{/codecitation}
и строку extension=php_mysqli.dll для рботы с MySql базами данных:
{codecitation}
extension=php_mysqli.dll
{/codecitation}