Установка и настройка php на windows 7. Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows
Если вы пользователь 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, и удаляем их.
В прошлом существовал большой мануал по тому, как с нуля установить на сервере стек LEMP. К сожалению, данный материал канул в Лету во время переноса статей, а писать его повторно у меня никакого желания так и не появилось.
UPD: Новая версия языка, - PHP 7.3, - .
Релиз стабильной версии 7.2 состоялся в конце ноября. Изменений довольно много , но сейчас не о них. Ниже простой способ, с помощью которого я обновил свой существующий PHP 7.1 FPM до PHP 7.2 FPM .
1. Добавляем репозиторий.
sudo add-apt-repository ppa:ondrej/php sudo apt update2. Устанавливаем пакеты.
sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-gd php7.2-mysql php7.2-curl php7.2-simplexml php7.2-zipDpkg -l | grep php | tee packages.txt
Текущие пакеты будут сохранены в packages.txt . После установки новой версии PHP откройте файл и сравните список установленных пакетов.
3. Настройка PHP.
Открываем /etc/php/7.2/fpm/pool.d/www.conf , изменяем значение параметра listen :
Listen = 127.0.0.1:9000
4. Конфигурация NGINX
Если у вас уже был установлен FPM-пакет, изменений делать нет необходимости. Иначе в конфиге сайта добавьте\измените:
Location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; }
5. Удаляем старые файлы PHP.
Если все прошло отлично и php -v утверждает, что вы используете необходимую версию PHP, за ненадобностью удаляем старые файлы командой:
Sudo apt purge php7.1*
5. Ну и всякое.
Не забываем после всех изменений перезапустить сервисы.
Service nginx restart service php7.2-fpm restart
На этом все. Наслаждайтесь новым PHP 7.2:)
И так мы установили сервер 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}
Проект Apache не предоставляет бинарные версии программного обеспечения, а только исходный код. Тем не менее, их можно получить на сторонних сайтах:
- ApacheHaus ;
- Apache Lounge .
Загрузите 32-разрядную версию Apache Windows (httpd-2.4.20-win32-VC14.zip ) или 64-разрядную версию (httpd-2.4.20-win64-VC14.zip ). Проверьте, установлена ли у вас 64-разрядная версия ОС . Чтобы определить это, можно использовать msinfo32.exe . Этот инструмент помогает в сборе информации о компьютере, в диагностике проблем или его можно использовать для доступа к другим инструментам.
Чтобы запустить его, выполните команду Выполнить> msinfo32> нажмите Enter .
После того, как найдете нужную версию, скачайте Zip-архив , а затем извлеките его содержимое в папку C:Apache24 .
Перед запуском сервера Apache , если нужно изменить порт прослушивания на 8181 :
- Откройте в текстовом редакторе файл C:Apache24confhttpd.conf ;
- Найдите следующую строку: Listen 80 ;
- И измените ее на: Listen 8181 .
Сохраните изменения.
Теперь можно запустить сервер Apache Windows 7 :
Откройте командную строку от имени администратора и перейдите в подкаталог bin :
Введите httpd.exe и нажмите Enter .
Если на экране появилось диалоговое окно с сообщением об отсутствии файла MSVCR140.dll , необходимо установить Visual C ++ Redistributable для Visual Studio 2015 (выберите vc_redist.x64.exe , если у вас установлена 64-разрядная версия Windows ).
Теперь откройте браузер и введите в адресную строку http://localhost:8181 , чтобы запустить демонстрационный сайт.
Установка PHP 7 в Windows
PHP 7 — важное обновление для серверного языка веб-разработки PHP . Загрузите zip-архив VC14 x64 Thread Safe (2016-Apr-29 00:38:19) . Если вы загрузили 32-разрядную версию Apache , необходимо установить PHP x86 .
Создайте папку с именем «php7 », извлеките в нее содержимое архива php-7.0.6-Win32-VC14-x64.zip , а затем поместите папку в корень диска C:
Настройка Apache для использования PHP
Откройте файл конфигурации установки Windows Apache C:Apache24confhttpd.conf .
Скопируйте следующие строки в начало файла:
- AddHandler application/x-httpd-php.php ;
- AddType application/x-httpd-php .php .html ;
- LoadModule php7_module «c:/php7/php7apache2_4.dll» ;
- PHPIniDir «c:/php7» .
В разделе
Сохраните файл Apache PHP Windows . Теперь переименуйте файл C:php7php.ini-development в C:php7php.ini.
Включение mod_rewrite для перезаписи URL-адресов
Откройте файл конфигурации Apache C:Apache24confhttpd.conf
;
Найдите в нем строку #LoadModule rewrite_module modules/mod_rewrite.so и удалите символ хеш «#»
;
Найдите все вхождения строки «AllowOverride None
» и измените их на «AllowOverride All»
.
Настройка PHP с MySQL
Отредактируйте файл php.ini и раскомментируйте каталог расширений. Удалите символ «; » в начале строк:
; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir ; extension_dir = "./" ; On windows: extension_dir = "ext"
Активируйте следующие строки, это даст возможность запуска модулей MySQL :
extension=php_mysqli.dll extension=php_pdo_mysql.dll
А также приведенные ниже строки, если вы используете установку Apache PHP MySQL Window s в среде разработки:
extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_openssl.dll
Раскомментируйте error_log , чтобы включить ведение журнала файлов:
; Log errors to specified file. PHP"s default behavior is to leave this value ; empty. ; http://php.net/error-log ; Example: error_log = c:php7php_errors.log
Сохраните изменения.
ВАЖНО! Установите PATH для Windows , чтобы найти PHP
- Кликните правой кнопкой мыши на ярлыке Мой компьютер — Свойства — Дополнительно — Переменные среды ;
- В разделе «Системные переменные » найдите пункт «Путь », кликните по нему и выберите «Изменить »;
- Добавьте в конце путь к папке php (обязательно после точки с запятой «;» ). Например: «;C:php7 «;
- Нажмите «ОК ».
Как проверить, установлен ли PHP
Создайте файл по адресу C:Apache24htdocsphpinfo.php и добавьте в него следующий код:
Перезапустите Apache Windows , а затем в браузере перейдите по адресу http://localhost:8181/phpinfo.php . На этой странице должна отобразиться информация об установленной версии PHHP .