Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows. Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows Установка apache 2.4 php 7
И так мы установили сервер nginx теперь пришла очередь установки php 7.1 на ubuntu. Связка nginx + php7 зарекомендовала себя очень хорошо, экономя деньги и ресурсы сервера.
Установка php 7.1
Для начала добавим репозиторий с которого будем качать и устанавливать php 7.1.
Sudo add-apt-repository ppa:ondrej/php
sudo apt install -y language-pack-en-base sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/phpПримечание: Если кодировка системы отлична от utf-8 то возможны проблемы при добавлении репозитория php 7.1. Поэтому выполним эти две команды
Обновим список репозиториев
Sudo apt update
Если все нормально, приступим к установке..
Apt install php7.1 php7.1-fpm php7.1-opcache php7.1-zip php7.1-xmlrpc php7.1-xsl php7.1-mbstring php7.1-mcrypt php7.1-mysql php7.1-odbc php7.1-pgsql php7.1-pspell php7.1-readline php7.1-recode php7.1-snmp php7.1-soap php7.1-sqlite3 php7.1-sybase php7.1-tidy php7.1-xml php7.1-json php7.1-ldap php7.1-intl php7.1-interbase php7.1-imap php7.1-gmp php7.1-gd php7.1-enchant php7.1-dba php7.1-bz2 php7.1-bcmath php7.1-phpdbg php7.1-cgi php7.1-cli
Соглашаемся с установкой, ждем пока все завершится.
И так все готово — php 7.1, и расширения установлены. Если в системе были установлены другие версии php5 то можно их удалить выполнив команду:
Apt autoremove php5* -y && apt purge php5* -y && apt clean php5*
Настройка php 7.1
Настройка php будет заключаться в следующем:
- Устранение уязвимостей
- Увеличение размера загружаемого файла
- Увеличение времени работы скрипта
- Настройка opcache
Открываем php.ini
Sudo nano /etc/php/7.1/fpm/php.ini
ищем строчку
;cgi.fix_pathinfo = 1
раскомментируем строчку и поставим за место единицы 0
Cgi.fix_pathinfo = 0
Увеличим размер загружаемых файлов. Находим post_max_size и приводим к виду
Post_max_size = 100M
Увеличим время обработки скрипта, ищем max_execution_time выставив 300 секунд — обычно нужно для работы с большими таблицами mysql
Opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=64 opcache.interned_strings_buffer=4 opcache.max_accelerated_files=7963 opcache.revalidate_freq=20
Сохраняем файл. Перезапускаем php7.1-fpm
Service php7.1-fpm restart
Устанавливаем MySQL сервер и phpmyadmin
sudo apt install mysql-server-5.7Во время установки нас попросит задать пароль для администратора mysql сервера. Выполните просьбу.
Все готово. Теперь установим менеджер работы с базами данных
Sudo apt install phpmyadmin
При установке скорее всего попросит выбрать вебсервер, выберите любой, если попросит задать пароль для базы задайте.
Теперь сделаем символьную ссылку на директорию где у нас будет лежать сайт
Ln -s /usr/share/phpmyadmin /var/www/html/my.site.ru
Зайти в менеджер базых можно будет по адресу
My.site.ru/phpmyadmin/
В будущем можно создать свой конффигурационный файл nginx для менеджера баз данных phpmyaadmin, и перенести его на поддомен типа mysql.my.site.ru, и поставить серверную авторизацию.
Если возникли вопросы пишите в комментариях.
// echo get_the_post_thumbnail(get_the_ID(), "relatedthumbnail"); // вывожу свой размер миниатюры?>В первой статье мы рассмотрели как установить 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}
Если вы пользователь Linux, то обратитесь к статье " ".
Выход PHP 7
На данный момент доступен PHP 7.0.0 Alpha выпуск 2. В самые ближайшие дни появится первая бета. Ни альфы ни беты не рекомендуются для реальной работы. Но попробовать их на тестовом сервере уже можно.
Тем паче, что изменения PHP7 очень значительны:
- Увеличение производительности PHP 7 до двух раз по сравнению с PHP 5.6 (вот это да!)
- Ожидаемая поддержка 64-бит
- Многие фатальные ошибки теперь Exceptions (исключения)
- Удаление старых и не поддерживаемых SAPI (программных интерфейсов серверных приложений) и расширений
- Оператор NULL коалесцирующий (??)
- Комбинированный оператор сравнения (<=>)
- Декларация возвращаемого типа
- Декларация скалярного типа
- Анонимные классы
PHP любой версии почти всегда ставят в паре с сервером и системой управления базами данных. Если у вас совсем нет сервера, то обратитесь к статье « ». Когда в той статье дойдёте до установки PHP, то возвращайтесь сюда.
Если сервер у вас уже есть, то общие вопросы по обновлению вы найдёте в статье « ».
Особенности установки PHP 7 на Windows
Я ставил на Apache 2.4 VC14. Если вы ещё не обновили сервер, то сделайте это. Ссылки и подробности по этой инструкции.
Для скачивания PHP 7.0 перейдите на
Скрыто от гостей
Все программы всегда скачивайте только с официальных сайтов!
Выберите версию Thread Safe (64-битную или 32-битную как и ваш сервер Apache).
Обязательно нужен Visual C++ Redistributable for Visual Studio 2015 ! Если вы уже обновили сервер Apache, то этому серверу также нужен этот пакет. Т.е. вы уже должны были его установить. Если это не так, то перейдите на
Скрыто от гостей
И скачайте пакет соответствующей битности.
После скачивания установите его.
Если при установке сервера вы пользуетесь , то распакуйте содержимое скаченного архива с PHP в каталог C:ServerbinPHP .
Перейдите в этот каталог, найдите файл php.ini-development и переименуйте его в php.ini .
Откройте этот файл любым текстовым редактором, найдите там строчку
; extension_dir = "ext"
И замените её на
Extension_dir = "ext"
Теперь нам нужно включить расширения для PHP, поскольку без них большинство сайтов и скриптов работать не будут. Внимание: на данный момент с некоторыми расширениями не удаётся запустить сервер, поэтому внимательно посмотрите ниже. Найдите группу строк:
;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll
И замените их на следующие строки. Обратите внимание, некоторые расширения оставлены отключёнными, поскольку при их включении Apache не запускается!
Extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_gmp.dll extension=php_intl.dll extension=php_imap.dll ;extension=php_interbase.dll extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pgsql.dll ;extension=php_pspell.dll extension=php_shmop.dll
Теперь находим следующую группу строк:
;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll
Эти расширения можно включить все:
Extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll
Сохраняем и закрываем файл.
Теперь переходим к конфигурационному файлу Apache. У тех, кто ставил по моей инструкции, этот файл здесь C:ServerbinApache24confhttpd.conf
Открываем его любым текстовым редактором. Находим строки, которыми мы подключали PHP 5, и удаляем их.
И описывает лишь отличительные моменты , которые касаются установки Apache24 и PHP7 на Windows. Описание установки СУБД MySQL остается прежним и не повторяется в этой инструкции.
Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про . Возможно она сэкономит вам не только время, но и здоровье.
Данная инструкция рассчитана на разработчиков с базовыми знаниями Apache и PHP. В данной инструкции будут описана только разница в установке Apache и PHP с основной инструкцией по установке PHP 5.6. Если Вы не в курсе, что такое WEB-сервер, http-протокол и интерпретатор PHP, то Вы всегда можете узнать об этом более подробно, прочитав документацию.
Я не буду отвечать в комментариях на вопросы, ответ на которые есть в этой или основной инструкциях, ссылка на основную инструкцию указана в первом абзаце, а так же на вопросы, которые касаются понимания работы Apache и PHP и уж тем более на вопросы по ошибкам в разработке. Для этого существуют соответствующие ресурсы, литература, форумы, курсы. Однако, Вы всегда можете задать любой интересующий Вас вопрос. Возможно, кто-то из сообщества сможет Вам помочь.
Итак, поехали!
Установка Apache 2.4 VC14
- Загружаем Apache 2.4 binaries VC14 под свою систему по ссылке http://www.apachelounge.com/download/ Качаем 64 разрядную версию сервера. На момент написания этих строк файл назывался так: httpd-2.4.17-win64-VC14.zip
- Если нужны какие-то дополнительные модули, их можно загрузить там же (для базовой установки нет необходимости)
- Загружаем и устанавливаем обновления Visual C++ Redistributable for Visual Studio 2015 с сайта Microsoft.
- Разархивируем содержимое папки Apache24 из скаченного архива в D:\USR\apache . Обратите внимание, что в D:\USR\apache нужно положить не папку Apache24 из архива, а ее содержимое. Инсталлировать ничего не требуется.
- В файле изменяем значение ServerRoot на «d:/USR/apache» (строка 37 ) и значение DocumentRoot (и Direcroty ) на «d:/USR/www» (строки 243 и 244 ). Так же следует раскомментировать строку 219 и изменить ее на: ServerName localhost:80
- Изменяем параметры хранения логов в том же файле (находим параметры и изменяем): ErrorLog "D:/USR/log/apache-error.log" CustomLog "D:/USR/log/apache-access.log" common
- Устанавливаем сервис Apache. Открываем командную строку от имени Администратора и вставляем туда следующую строку: D:\USR\apache\bin\httpd.exe -k install
- Следим за сообщениями об ошибках во время установки сервиса. Если все сделано верно, никаких ошибок быть не должно. Если у вас после выполнения строки не появилась снова командная строка, то вы что-то сделали неправильно. Просто воспользуйтесь функциями скопировать и вставить, чтобы не допускать ошибок при перепечатке.
- Создаем на рабочем столе ярлык для D:\USR\apache\bin\ApacheMonitor.exe и/или помещаем его в автозагрузку (для открытия окна автозагрузки в WIN8..10 необходимо нажать WIN+R, затем ввести shell:Startup и нажать ОК)
- Запускаем ApacheMonitor. В системном трее появится ярлык. Нажимаем на него левой кнопкой, выбираем Apache24 -> Start.
- В браузере заходим на http://localhost/ — должны увидеть It works!
- Если не увидели такой надписи, разбираемся, что пошло не так (читаем логи, гуглим, пытаемся самостоятельно разобраться с проблемой, раз уж решили разбираться в тонкостях работы веб-сервера)
Установка PHP 7
- Загружаем последнюю версию VC14 x64 Thread Safe по ссылке http://windows.php.net/download/ . Обратите внимание, что нужен именно VC14 и именно Thread Safe . Файл, который Вам нужен, скорее всего будет называться наподобие: php-7.0.0-Win32-VC14-x64.zip
- Извлекаем содержимое архива в D:\USR\php . Как в случае с Apache, инсталлировать ничего не требуется.
- В файл D:\USR\apache\conf\httpd.conf добавляем строки: LoadModule php7_module "d:/USR/php/php7apache2_4.dll" AddHandler application/x-httpd-php .php # Путь к файлу php.ini PHPIniDir "D:/USR/php"
- И изменяем значение параметра DirectoryIndex на index.html index.php (строка 278 )
- Используя ApacheMonitor перезапускаем Apache (Apache24 -> Restart)
- Заходим браузером http://localhost/index.php и убеждаемся, что PHP работает (в браузере будет вывод PhpInfo).
- Делаем копию шаблона конфигурационного файла D:\USR\php\php.ini-development с именем D:\USR\php\php.ini — это конфигурационный файл для РНР.
- Редактируем конфигурационный файл D:\USR\php\php.ini
. Пользуясь поиском находим внутри файла, раскомментируем и изменяем параметры. Обратите внимание, что параметр extension определяет набор расширений РНР. Раскомментируйте те расширения, которые нужны Вам. В примере расширения, которые были нужны мне. Временную зону указывайте свою, а не мою:
extension_dir = "D:/USR/php/ext"
sys_temp_dir = "D:/USR/tmp"
extension=php_curl.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_mysqli.dll
extension=php_openssl.dll
date.timezone = Europe/Zaporozhye
Если у Вас возникли проблемы с запуском curl, обратитесь к этой инструкции .
- Выполняем в командной строке php -m чтобы просмотреть список подключенных расширений.
- Перезапускаем Apache используя ApacheMonitor
Установка и настройка всего остального не изменилась. Обратитесь пожалуйста к по установке PHP 5.6 для получения подробной информации.
В htmlAcademy и я работаю на нем наставником. Студентам в рамках интенсива предстоит поднять рабочее окружение и это заметка нацелена упростить эту нелегкую для новичка задачу. Есть разные способы поднятия полноценного LAMP стека, но мы пойдем классическим путем. Настроим все компоненты по отдельности (без применения готовых комбайнов) и начнем с PHP (обязательно будет заметка с рассмотрением готовых сборок LAMP). Поскольку я планирую работать наставникам на интесивах по PHP и дальше, я собираюсь написать подобные инструкции для повторения в других ОС (Linux, macOS). Как говорится, лучше один раз попотеть, но потом всем станет проще. Итак, приступаем.
Загружаем PHP для Windows
Заходим на официальный сайт и загружаем актуальную версию PHP. На момент написания заметки это – 7.1.4 . На странице доступно несколько вариантов дистрибутивов. У меня Windows 7 x64, соответственно я выбираю zip архив с VC14 x64 Thread Safe.
Обратите внимание, для загрузки доступна два варианта дистрибутива: Thread-Safe (TS) и Non-Thread-Safe (NTS) . Выбор зависит от того как вы планируете применять интерпретатор. TS рекомендуется использовать для одного процесса веб-служб (например, настраивая через модуль mod_php для Apache). NTS рекомендуется для применения IIS (Internet Information Service) и альтернативных FastCGI веб-сервером (например, Apache с модулем FastCGI) и командной строки.
Устанавливаем PHP 7.1
Начнем готовить PHP для комфортной работе из командной строки. В предыдущем шаге вы загрузили архив с дистрибутивом PHP. В отличие от большинства программ, PHP поставляется в простом архиве, а не как инсталляционный пакет. Поэтому вам придется самостоятельно извлечь файлы в любую удобную для вас директорию. Я предпочитаю хранить подобные вещи в корне системного диска. Создайте в корне диска «C:» (или любом другом месте) директорию «php» и извлеките в нее содержимое загруженного архива.
В директории появится множество файлов, но нас больше всего интересуют:
- go-pear.bat – сценарий для установки PEAR. Подробности о PEAR можно почитать в официальной документации .
- php.exe – позволяет выполнять PHP сценарии из консоли;
- php-win.exe - позволяет выполнять PHP сценарии без применения консоли;
- php-cgi.exe – необходим для выполнения PHP кода в режиме FastCGI;
- php7apache2_4.dll – модуль интеграции с веб-сервером Apache 2.4.X;
- phpdbg.exe – отладчик;
- php.ini-development – пример конфигурационного файла PHP для окружения разработчика (development)
- php.ini-production – пример конфигурационного файла PHP для рабочего окружения (production)
Подключаем конфигурационный файл
Распакованный дистрибутив у нас есть, подключим для него конфигурационный файл. Мы собираемся ставить эксперименты, поэтому в качестве образца возьмем php.ini-development . Сделайте копию этого файла в директорию php (C:\php ) с именем php.ini . ВАЖНО! Делайте именно копию, не простое переименование. За время разработки вам может потребоваться изменять конфигурационный файл и есть все шансы совершить ошибку, которую трудно будет обнаружить.
В таких случаях нет ничего лучше, чем вернуться к эталонным настройкам. В нашем случае будет достаточно повторить копирование файла php.ini-development в php.ini . Итак, по окончанию телодвижений в директории с php должен появиться файлик php.ini. В дальнейших заметках мы обязательно поговорим о его содержимом более детально.
Тестируем PHP из командной строки
На этом шаге, так называемая «установка» завершена. Откройте консоль (cmd.exe , ярлык доступен в меню «Стандартные») и введите команду:
C:\php\php.exe --version
Результат будет примерно таким:
PHP 7.1.4 (cli) (built: Apr 11 2017 19:54:37) (ZTS MSVC14 (Visual C++ 2015) x64) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
Результат подтверждает, что PHP работает. Попробуйте для примера создать новый файл-сценарий (я создал файл “test.php” прямо в корне диска “C:”) и поместить в него текст:
Теперь попробуйте выполнить этот файл и посмотрите результат:
C:\php\php.exe –f test.php
Функция phpinfo() выводит информацию по конфигурации PHP в удобном виде. Об этой функции мы еще поговорим.
Упрощаем обращение к php.exe
PHP готов к работе, но согласитесь, каждый раз вбивать в консоле путь к php интерпретатору довольно неудобно. Чтобы упростить себе жизнь, внесем небольшие изменения в переменные среды. Запустим в панели управления аплет «Система» (или просто нажмем горячую клавишу «Windows + Pause Break» . Затем нажмем на кнопку «Изменить параметры» . В появившемся окне «Свойства системы» , перейдем на закладку «Дополнительно» . Найдите и нажмите на ней кнопку «Переменные среды» .
Находим в списке переменную «PATH» и нажимаем кнопку «Изменить» , появится окно редактирования переменной. В поле «Значение переменной» нам необходимо дописать путь к директории с PHP. Перейдите в самый конец строки и через точку с запятой укажите путь к директории с PHP: C:\php;
Все, нажимайте «Ok». Теперь перезагрузите систему (увы, придется). После перезагрузки Windows, обращаться к PHP можно будет просто: php.Например, чтобы вывести название версии достаточно написать:
Php –version
А чтобы интерпретировать файл test.php, расположенный в корне диска «C:»:
Php –f C:\test.php
Или вовсе запустить встроенный веб-сервер:
Php -t C:\ -S 127.0.0.1:8888 Listening on http://127.0.0.1:8888 Document root is C:\ Press Ctrl-C to quit.
Для тестирования откройте web-браузер попробуйте обратиться на http://127.0.0.1:8888/test.php . Обратите внимание, после параметра –t мы указываем путь к директории, которая станет корневой директорией веб-сервера. Все сценарии, расположенные в этой папке будут доступны для запроса с клиента. У меня на диске «C:» есть один файлик 1.php и именно его я и запрашиваю.
Assoc .php=phpfile ftype phpfile="C:\php\php.ee" -f "%1" -- %~2
Еще немного о переменных окружения
Теперь давайте поговорим о том как PHP будет искать файл настроек конфигурации (вспоминаем, о php.ini ). В документации приведена полная цепочка поиска. Во избежание лишних сложностей, рекомендую сразу добавить в переменные окружения новую – «PHPRC» и в качестве значения указать путь к директории с конфигурационным файлом. У меня конфиг располагается в тоже же директории, что и основные файлы php, следовательно в качестве значения переменной указываю –
«C:\php». После внесения изменения потребуется перезагрузка.
На этом у меня все. Первый часть мануала для новичков готова.