Установка php 7 apache. Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows. Частота перезапуска процессов PHP

Для загрузки 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 стоит включить вывод
    сообщений об ошибках.
Шаг 3. Проверка работоспособности PHP
Пока мы не сконфигурировали 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 файла:


< configuration >
< system.webServer >
< handlers >
< add name =«PHP» path ="*.php" verb ="*"
modules =«FastCgiModule» scriptProcessor ="C:\Web\PHP\php-cgi.exe "
resourceType =«Unspecified» />



Теперь можно переходить к проверке работоспособности PHP.
Шаг 3. Проверяем корректность настройки
В директории узла для которого мы сконфигурировали PHP создаем файл
index.php:
phpinfo();
?>
И обращаемся к этому файлу через HTTP запрос. В результате, если все хорошо и
наша карма не испорчена, запрос будет корректно обработан:

Разумеется, при использовании PHP на
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» >


Использование нескольких версий PHP

Поскольку разные версии PHP могут использоваться в
приложениях, которые размещаются на сервере, то хорошо бы было дать возможность
использовать разные версии для разных сайтов.
В файле конфигурации applicationHost.config
достаточно определить секции для разных версий PHP:
< fastCgi >
< application fullPath =«C:\inetpub\php\php-cgi.exe» >
...

< application fullPath =«C:\inetpub\php4\php4.exe» >
...

< application fullPath =«C:\inetpub\php41\php41.exe» >
...


* This source code was highlighted with .
А уже для каждого из сайтов конфигурируется модуль, использующий ту или иную
версию (можно использовать интерфейс, который описан выше, а можно
отредактировать конфигурацию в тексте):
< handlers >
< add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
scriptProcessor ="C:\inetpub\php\php41.exe "
resourceType =«Unspecified» />

* 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» />





< application fullPath ="C:\inetpub\php\php-cgi.exe "

arguments ="-d my.website=phpsite" >

< environmentVariables >

< environmentVariable name =«PHPRC» value =«C:\inetpub\phpsite» />






* 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» />




* 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:///phpinfo.php or http:///phpinfo.php

и посмотрите текущую информацию о 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}