Установка веб-сервера (Apache 2.4, MySQL 8.0, PHP 7, phpMyAdmin) на Windows 10 - HackWare.ru

  1. 1. Підготовка (скачування програм, що входять в сервер, створення структури сервера)
  2. 2. Створення структури веб-сервера
  3. 3. Установка Apache 2.4
  4. 4. Встановлення та налаштування MySQL 8.0
  5. 5. Встановлення та налаштування PHP 7
  6. Налаштування PHP 7
  7. 6. Встановлення та налаштування phpMyAdmin
  8. 7. Використання сервера і бекап даних
  9. 8. Додаткова настройка PHP
  10. 9. Додаткова настройка phpMyAdmin
  11. 10. Установка поштової заглушки
  12. 11. Додавання PHP директорії в PATH на Windows
  13. 12. Звісно, ​​уповільнення трафіку і / або помилка сервера Asynchronous AcceptEx failed
  14. 13. Налагодження cURL в веб-сервері Apache на Windows
  15. 14. Створення резервної копії даних (сайти і бази даних) Apache в Windows
  16. 15. Оновлення сервера
  17. 16. Додатковий матеріал по налаштуванню веб-сервера в Windows:

Джерело (деякі моменти): " How to install web server on Windows 10 (Apache 2.4, PHP 7, MySQL 5.7 and phpMyAdmin) "

Установка веб-сервера на Linux:

Локальний сервер дуже корисний інструмент. Він точно в нагоді веб-майстрам, програмістам на PHP, тестерам на проникнення. Всі програми, що входять в типову установку веб-сервера, є безкоштовними, у всіх у них відкритий вихідний код. Локальний веб-сервер споживає мінімум ресурсів і, насправді, його зовсім неважко встановити і налаштувати.

Ця інструкція розповість про те, як встановити локальний веб-сервер без використання готових збірок. Цей спосіб має свої переваги. Найважливішими з них є: повний контроль на тим, що ви встановлюєте; можливість використовувати найостанніші версії програмного забезпечення.

Якщо ви будете в точності слідувати інструкції, то у вас обов'язково все запрацює! Крім тих, у кого Windows XP - якщо лу вас ця операційна система, то для вас зроблена спеціальна інструкція .

Я покажу приклад установки на Windows 10, але якщо у вас інша версія Windows, то нехай вас це не бентежить - процедура всюди ідентична. Я буду завантажувати останні (найсвіжіші) на момент написання версії програм. Якщо до того часу, коли ви читаєте, вийдуть нові версії, то завантажуйте саме їх.

Етапи установки:

  1. Підготовка (скачування програм, що входять в сервер, створення структури сервера)
  2. Створення структури веб-сервера
  3. Установка Apache 2.4
  4. Установка і настройка MySQL 8.0
  5. Установка і настройка PHP 7
  6. Установка і настройка phpMyAdmin
  7. Використання сервера і бекап даних
  8. Додаткова настройка PHP
  9. Додаткова настройка phpMyAdmin
  10. Установка поштової заглушки
  11. Додавання PHP директорії в PATH на Windows
  12. Звісно, ​​уповільнення трафіку і / або помилка сервера Asynchronous AcceptEx failed
  13. Налаштування cURL в веб-сервері Apache на Windows

Вам також може стати в нагоді:

  1. Резервне копіювання даних (сайти і бази даних) Apache в Windows
  2. сервер оновлення
  3. Додатковий матеріал по налаштуванню веб-сервера в Windows
  4. У мене нічого не працює
  5. видалення сервера

1. Підготовка (скачування програм, що входять в сервер, створення структури сервера)

Нам потрібні:

  • Apache (безпосередньо веб-сервер)
  • PHP - середовище для роботи PHP програм (потрібно практично всіма веб-сайтами)
  • MySQL - система управління базами даних (потрібно більшістю веб-сайтів)
  • phpMyAdmin - дуже зручний інструмент для управління базами даних

Офіційний сайт розробників Apache це httpd.apache.org . Можна завантажити Apache з цього сайту. Але офіційна версія збирається з використанням старого компілятора, з цієї причини вона не працює з новими версіями PHP. Автори PHP рекомендують Apache з сайту apachelounge.com/download . Тому для цієї інструкції викачуємо Apache саме з сайту apachelounge.com/download .

Якщо у вас 64-бітна версія Windows, то ви можете вибрати як 64-бітну, так і 32-бітну версію компонентів. Головне правило - всі компоненти повинні бути однієї битности. Якщо у вас 32-бітна версія Windows, то всі компоненти повинні бути 32-бітними. Це не відноситься до phpMyAdmin, який написаний на мові PHP. Для PHP програм поняття битности не застосовується.

PHP 7 скачайте зі сторінки https://windows.php.net/download/ . Виберіть версію Thread Safe, зверніть увагу на бітность. Якщо вам важко, який саме файл скачати, то подивіться цю замітку .

Безкоштовна версія MySQL називається MySQL Community Server. Її можна завантажити на сторінці. На цій же сторінці є установник у вигляді виконуваного файлу, але я рекомендую скачати ZIP-архів. На сторінці скачування нам пропонують зареєструватися або увійти в існуючу обліковий запис - але це робити необов'язково. Досить натиснути на посилання «No thanks, just start my download». Зверніть увагу на бітность.

Сайт для скачування phpMyAdmin.

Ще нам потрібен файл C ++ Redistributable Visual Studio 2017, тобто Розповсюджуваний компонент Visual C ++ для Visual Studio 2017 (або будь-який інший більш пізній), скачати його можна на офіційному сайті Microsoft за посиланням (пряма посилання на скачування 64-бітової версії; пряма посилання на скачування 32-бітової версії). Цей файл потрібен для веб-сервера. А для MySQL необхідний Розповсюджувані пакети Visual C ++ для Visual Studio 2015. Його можна скачати по.

Отже, у мене завантажити наступні файли:

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-all-languages.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Встановіть файли vc_redist.x64.exe і vcredist_x64.exe.

2. Створення структури веб-сервера

Створимо структуру каталогів нашого сервера. Головна ідея - розділити виконані файли і файли сайтів з базами даних. Це зручно для обслуговування сервера, в тому числі для резервного копіювання.

У корені диска C: \ створіть каталог Server. У цьому каталозі створіть 2 підкаталогу: bin (для здійсненних файлів) і data.

Перейдіть в каталог data і там створіть папки DB (для баз даних) і htdocs (для сайтів).

Перейдіть в каталог C: \ Server \ data \ DB \ і створіть там порожню папку data.

3. Установка Apache 2.4

Вміст скачав архіву (точніше кажучи, тільки каталог Apache24), розпакуйте в C: \ Server \ bin \.

Перейдіть в каталог c: \ Server \ bin \ Apache24 \ conf \ і відкрийте файл httpd.conf будь-яким текстовим редактором.

У ньому нам потрібно замінити ряд рядків.

міняємо

Define SRVROOT "c: / Apache24"

на

Define SRVROOT "c: / Server / bin / Apache24"

міняємо

#ServerName www.example.com:80

на

ServerName localhost

міняємо

DocumentRoot "$ {SRVROOT} / htdocs"

на

DocumentRoot "c: / Server / data / htdocs /"

міняємо

<Directory "$ {SRVROOT} / htdocs">

на

<Directory "c: / Server / data / htdocs /">

міняємо

DirectoryIndex index.html

на

DirectoryIndex index.php index.html index.htm

міняємо

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

на

# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

і міняємо

#LoadModule rewrite_module modules / mod_rewrite.so

на

LoadModule rewrite_module modules / mod_rewrite.so

Зберігаємо і закриваємо файл. Все, настройка Apache завершена! Опис кожної зміненої директиви ви знайдете на цій сторінці .

Відкрийте командний рядок (це можна зробити натиснувши одночасно клавіші Win + X). Виберіть там Windows PowerShell (адміністратор) і скопіюйте туди:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k install

Якщо надійде запит від брандмауера в відношення Apache, то натисніть Дозволити.

Тепер вводимо в командний рядок:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k start

І натисніть Enter.

І натисніть Enter

Тепер в браузері набираємо http: // localhost / і бачимо наступне:

Тепер в браузері набираємо   http: // localhost /   і бачимо наступне:

Це означає дві речі:

  • Apache працює
  • в каталозі c: \ Server \ data \ htdocs \ немає жодного файлу.

Можете погратись - додати в каталог будь-які html-файли - повноцінний веб-сервер працює.

4. Встановлення та налаштування MySQL 8.0

В каталог bin розпаковуємо файли MySQL (з архіву mysql-8.0.11-winx64.zip). Перейменовуємо папку mysql-8.0.11-winx64 в mysql-8.0 (для стислості). До речі, розпаковані папка mysql-8.0 займає близько гігабайти!

Заходимо в цю папку і створюємо там файл my.ini Тепер відкриваємо цей файл будь-яким текстовим редактором.

Додайте туди наступні рядки:

[Mysqld] sql_mode = NO_ENGINE_SUBSTITUTION, STRICT_TRANS_TABLES datadir = "c: / Server / data / DB / data /" default_authentication_plugin = mysql_native_password

Збережіть і закрийте його.

Налаштування завершено, але потрібно ще виконати ініціалізацію і установку, для цього відкриваємо командний рядок від імені адміністратора і послідовно вводимо туди:

C: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --initialize-insecure --user = root C: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --install net start mysql

По закінченню цього процесу в каталозі C: \ Server \ data \ DB \ data \ повинні з'явитися автоматично згенерували файли:

Тепер служба MySQL запускатиметься при кожному запуску Windows.

Якщо ініціалізація завершилася невдачею і в папці C: \ Server \ data \ DB \ data \ бракує файлів, а в балці помилок C: \ Server \ data \ DB \ data \ *. Err ви бачите приблизно такі записи:

[ERROR] InnoDB: Operating system error number 87 in a file operation [ERROR] InnoDB: File. \ Ib_logfile101: 'aio write' return OS error 187. [ERROR] InnoDB: Can not continue operation

Те для вирішення цієї проблеми видаліть весь вміст папки C: \ Server \ data \ DB \ data \ і в файл my.ini додайте ще один рядок:

innodb_flush_method = normal

Тепер Ініціалізуйте MySQL ще раз:

C: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --initialize-insecure --user = root C: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --install net start mysql

5. Встановлення та налаштування PHP 7

В папці c: \ Server \ bin \ створюємо каталог PHP і копіюємо в нього вміст архіву php-7.0.0RC6-Win32-VC14-x64.zip.

У файлі c: \ Server \ bin \ Apache24 \ conf \ httpd.conf в самий кінець додаємо рядки

PHPIniDir "C: / Server / bin / PHP" AddHandler application / x-httpd-php .php LoadModule php7_module "C: /Server/bin/PHP/php7apache2_4.dll"

І перезапускаємо Apache

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k restart

У каталозі c: \ Server \ data \ htdocs \ створюємо файл з назвою i.php

Копіюємо в цей файл:

<? Php phpinfo ();

У браузері відкрийте посилання http: //localhost/i.php . Якщо ви бачите те ж саме, що на зображенні, значить PHP працює:

Якщо ви бачите те ж саме, що на зображенні, значить PHP працює:

Налаштування PHP 7

Налаштування PHP відбувається в файлі php.ini. У zip-архівах, призначених для ручної установки і для оновлень, php.ini немає (це зроблено спеціально, щоб випадково не затерти ваш файл, з вашими унікальними налаштуваннями). Зате є два інших, які називаються php.ini-development і php.ini-production. Будь-який з них, при ручній установці, можна перейменувати в php.ini і налаштовувати далі. На локалхосте ми буде використовувати php.ini-development.

Відкриваємо файл php.ini будь-яким текстовим редактором, шукаємо рядок

; extension_dir = "ext"

і замінюємо її на

extension_dir = "C: \ Server \ bin \ PHP \ ext \"

Тепер знайдіть групу рядків:

; Extension = bz2; extension = curl; extension = fileinfo; extension = gd2; extension = gettext; extension = gmp; extension = intl; extension = imap; extension = interbase; extension = ldap; extension = mbstring; extension = exif; Must be after mbstring as it depends on it; extension = mysqli; extension = oci8_12c; Use with Oracle Database 12c Instant Client; extension = openssl; extension = pdo_firebird; extension = pdo_mysql; extension = pdo_oci; extension = pdo_odbc; extension = pdo_pgsql; extension = pdo_sqlite; extension = pgsql; extension = shmop

і замініть її на:

extension = bz2 extension = curl extension = fileinfo extension = gd2 extension = gettext extension = gmp extension = intl extension = imap; extension = interbase extension = ldap extension = mbstring extension = exif; Must be after mbstring as it depends on it extension = mysqli; extension = oci8_12c; Use with Oracle Database 12c Instant Client extension = openssl; extension = pdo_firebird extension = pdo_mysql; extension = pdo_oci extension = pdo_odbc extension = pdo_pgsql extension = pdo_sqlite extension = pgsql extension = shmop

тепер розкоментуйте цю групу рядків:

; Extension = soap; extension = sockets; extension = sqlite3; extension = tidy; extension = xmlrpc; extension = xsl

повинно вийти:

extension = soap extension = sockets extension = sqlite3 extension = tidy extension = xmlrpc extension = xsl

Цими діями ми включили розширення. Вони можуть знадобитися в різних ситуаціях для різних скриптів. Зберігаємо файл і перезапускаємо Apache.

6. Встановлення та налаштування phpMyAdmin

В каталог c: \ Server \ data \ htdocs \ копіюємо вміст архіву phpMyAdmin-4.5.1-all-languages.zip. Перейменовуємо phpMyAdmin-4.5.1-all-languages в phpmyadmin (для лаконічності)

У каталозі c: \ Server \ data \ htdocs \ phpmyadmin \ створюємо файл config.inc.php і копіюємо туди:

<? Php / * Servers configuration * / $ i = 0; / * Server: localhost [1] * / $ i ++; $ Cfg [ 'Servers'] [$ i] [ 'verbose'] = ''; $ Cfg [ 'Servers'] [$ i] [ 'host'] = 'localhost'; $ Cfg [ 'Servers'] [$ i] [ 'port'] = ''; $ Cfg [ 'Servers'] [$ i] [ 'socket'] = ''; $ Cfg [ 'Servers'] [$ i] [ 'connect_type'] = 'tcp'; $ Cfg [ 'Servers'] [$ i] [ 'extension'] = 'mysqli'; $ Cfg [ 'Servers'] [$ i] [ 'auth_type'] = 'cookie'; $ Cfg [ 'Servers'] [$ i] [ 'user'] = 'root'; $ Cfg [ 'Servers'] [$ i] [ 'password'] = ''; $ Cfg [ 'Servers'] [$ i] [ 'nopassword'] = true; $ Cfg [ 'Servers'] [$ i] [ 'AllowNoPassword'] = true; / * End of servers configuration * / $ cfg [ 'blowfish_secret'] = 'kjLGJ8g; Hj3mlHy + Gd ~ FE3mN {gIATs ^ 1lX + T = KVYv {ubK * U0V'; $ Cfg [ 'DefaultLang'] = 'ru'; $ Cfg [ 'ServerDefault'] = 1; $ Cfg [ 'UploadDir'] = ''; $ Cfg [ 'SaveDir'] = ''; ?>

У браузері набираємо http: // localhost / phpmyadmin /

Як ім'я користувача вводимо root. Поле пароля залишаємо порожнім. Якщо все зроблено правильно, то все повинно виглядати так:

7. Використання сервера і бекап даних

У каталозі c: \ Server \ data \ htdocs \ створюйте папки і файли, наприклад:

c: \ Server \ data \ htdocs \ test \ ajax.php - цей файл, відповідно, буде доступний за адресою http: //localhost/test/ajax.php і т.д.

Для створення повного бекапа всіх сторінок, банки данних достатньо скопіювати каталог C: \ Server \ data \.

Перед оновленням модулів, робіть бекап папки bin - в разі виникнення проблем, можна буде легко відкотитися до попередніх версій.

При повторній установці сервера або при його оновленні, необхідно заново налаштовувати конфігураційні файли. Якщо у вас є копії цих файлів, то процес можна значно прискорити. Бажано забекапіть наступні файли:

  • c: \ Server \ bin \ Apache24 \ conf \ httpd.conf
  • c: \ Server \ bin \ mysql-8.0 \ my.ini
  • c: \ Server \ bin \ PHP \ php.ini
  • c: \ Server \ data \ htdocs \ phpMyAdmin \ config.inc.php

У них і зберігаються всі налаштування.

8. Додаткова настройка PHP

PHP в даний час дуже потужний, гнучкий, зручний інструмент. На локальному комп'ютері за допомогою нього можна вирішувати різноманітні завдання, зовсім не обов'язково пов'язані з генерацією Web-сторінок. При вирішенні неординарних завдань можна впертися в обмеження, встановлені в налаштуваннях. Ці настройки міститися у файлі php.ini (c: \ Server \ bin \ PHP \ php.ini) Розглянемо деякі з них:

memory_limit = 128M

встановлює максимальну кількість пам'яті, яке може використовувати скрипт

post_max_size = 8M

встановлює максимальну кількість даних, які будуть прийняті при відправці методом POST

; Default_charset = "UTF-8"

встановлює систему кодування (за замовчуванням, рядок закоментований)

upload_max_filesize = 2M

максимальний розмір на сервер файлу. Спочатку встановлений дуже маленький розмір - тільки два мегабайти. Наприклад, при завантаженні бази даних в phpMyAdmin, не вийде завантажити файл більше 2 мегабайт до тих пір, поки не буде змінений цей пункт настройки.

max_file_uploads = 20

максимальна кількість файлів для завантаження за один раз

max_execution_time = 30

максимальний час виконання одного скрипта

Міняти ці настройки зовсім необов'язково, але корисно про них знати.

9. Додаткова настройка phpMyAdmin

Ми вже налаштували phpMyAdmin і більшості цілком достатньо базового функціоналу. Проте, на стартовій сторінці phpMyAdmin є напис: «Додаткові можливості phpMyAdmin не налаштовані повною мірою, деякі функції були відключені».

Новими можливостями є:

  • показ зв'язків між (пов'язаними) таблицями;
  • додавання інформації про таблиці (починаючи з версії 2.3.0 ви можете описувати в спеціальній таблиці 'table_info' яка колонка буде показана в підказці при русі курсором над пов'язаним ключем);
  • створення PDF-схеми (починаючи з версії 2.3.0 ви можете в phpMyAdmin створювати PDF сторінки, що показують зв'язки між вашими таблицями);
  • відображати коментарі стовпців (починаючи з версії 2.3.0 ви можете робити коментар з описом кожного шпальти для кожної таблиці. І вони будуть видні в «попередньому перегляді для друку». Починаючи з версії 2.5.0, коментарі використовуються на власних сторінках таблиць і в режимі перегляду, з'являючись як спливаючі підказки над колонками (таблиці властивостей) або вбудовані в заголовок таблиці в режимі перегляду. Вони також можуть бути показані в дампі таблиці);
  • створювати закладки (починаючи з версії 2.2.0, phpMyAdmin дозволяє користувачам робити закладки на запити. Це може бути корисно для часто використовуваних запитів);
  • історія SQL-запитів (починаючи з версії 2.5.0 ви можете зберігати вашу історію всіх SQL запитів, які були зроблені через інтерфейс phpMyAdmin);
  • дизайнер (починаючи з версії 2.10.0, доступний інструмент Дизайнер; він дозволяє візуально управляти зв'язками між таблицями);
  • інформація про недавно використаних таблицях;
  • настройка інтерфейсу часто використовуваних таблиць;
  • стеження (починаючи з версії 3.3.x доступний механізм стеження. Він допомагає вам простежити кожну SQL команду, яка була виконана phpMyAdmin'ом. Підтримується запис роботи з даними і запис команд. Після включення, ви зможете робити версії таблиць);
  • призначені для користувача настройки (починаючи з версії 3.4.x, phpMyAdmin дозволяє користувачам задавати більшість налаштувань і зберігати їх в базі даних);
  • настроюються меню (починаючи з версії 4.1.0 ви можете створювати групи користувачів, яким будуть доступні тільки призначені пункти меню. Користувач може бути визначений в групу і буде бачити тільки пункти меню, доступні для його групи);
  • заховати / показати пункти навігації (починаючи з версії 4.1.0 ви можете заховати / показати пункти в навігаційному дереві).
  • та інші

Зараз ми налаштуємо ці додаткові можливості в повній мірі. Перейдіть за посиланням http: //localhost/phpmyadmin/chk_rel.php і натисніть "Створити базу даних". Після цього все нові функції будуть активовані.

Кілька скріншотів нових функцій:

1) Дизайнер

2) Спостереження

10. Установка поштової заглушки

У каталозі C: ​​\ Server \ bin \ створіть новий каталог з назвою Sendmail. Тепер в цьому каталозі створіть файл sendmail.php наступного змісту:

#! / Usr / bin / env php <? Php / * PHP.INI * [mail function] *; SMTP = localhost *; smtp_port = 25 *; sendmail_from = [email protected] * sendmail_path = php.exe sendmail.php --dir C: \ mail --open * / $ is_windows = stristr (PHP_OS, 'WIN'); $ Options = getopt ( "", [ 'open', 'prepend', 'file:', 'dir:']); $ Is_open = isset ($ options [ 'open']); $ Is_prepend = isset ($ options [ 'prepend']); $ Is_onefile = isset ($ options [ 'file']); $ Mail_dir = isset ($ options [ 'dir'])? $ Options [ 'dir']: sys_get_temp_dir (). '/ Mail'; $ File_name = isset ($ options [ 'file'])? $ Options [ 'file']: mkname (); $ File_path = $ mail_dir. '/'. $ File_name; if (! is_dir ($ mail_dir)) {mkdir ($ mail_dir, 0777, TRUE); if (! is_dir ($ mail_dir)) {die ( 'Mail folder ['. $ mail_dir. '] not created'); }} $ Stream = $ is_onefile? PHP_EOL. str_repeat ( "- =", 10). date ( 'Ymd H: i: s'). str_repeat ( "- =", 10). PHP_EOL: ''; while (false! == ($ line = fgets (STDIN))) {// $ stream. = ($ is_windows? str_replace ( "\ n", PHP_EOL, $ line): $ line); $ Stream. = $ Line; } If ($ is_prepend && file_exists ($ file_path)) {$ file_contents = file_get_contents ($ file_path); $ Stream. = $ File_contents; } File_put_contents ($ file_path, $ stream, $ is_prepend? 0: FILE_APPEND); if ($ is_open && $ is_windows) {pclose (popen ( "start / B notepad". $ file_path, "r")); } Function mkname ($ i = 0) {global $ mail_dir; $ Fn = 'mail_'. date ( 'Ym-d_H-i-s_'). $ I. '.Eml'; return file_exists ($ mail_dir. '/'. $ fn)? mkname (++ $ i): $ fn; }

Відкрийте конфігураційний файл PHP, він розміщений тут C: \ Server \ bin \ PHP \ php.ini. І додайте туди одну сходинку:

sendmail_path = "C: \ Server \ bin \ PHP \ php.exe C: \ Server \ bin \ Sendmail \ sendmail.php --dir C: \ Server \ bin \ Sendmail \ emails"

Збережіть файл і перезапустіть сервер. Дуже добре, тепер всі відправлені листи будуть зберігатися в каталозі C: \ Server \ bin \ Sendmail \ emails \

Листи будуть мати розширення .eml і їх можна відкривати, наприклад, програмою Thunderbird. Або звичайним текстовим редактором.

11. Додавання PHP директорії в PATH на Windows

Якщо цього не зробити, то можуть бути проблеми з деякими модулями PHP, в тому числі з php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll і php_pgsql.dll. По крайней мере, при запуску сервера кожного разу в логах з'являється наступне:

PHP Warning: PHP Startup: Unable to load dynamic library 'C: \\ Server \\ bin \\ PHP \\ ext \\ php_curl.dll' - \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ R \ n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C: \\ Server \\ bin \\ PHP \\ ext \\ php_intl.dll' - \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ R \ n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C: \\ Server \\ bin \\ PHP \\ ext \\ php_ldap.dll' - \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xb d \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ R \ n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C: \\ Server \\ bin \\ PHP \\ ext \\ php_pdo_pgsql .dll' - \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ r \ n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C: \\ Server \\ bin \\ PHP \\ ext \\ php_pgsql.dll '- \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd \ xef \ xbf \ xbd. \ R \ n in Unknown on line 0

Щоб уникнути цих попереджень, потрібно додати в системні змінні середовища шлях до PHP.

Натисніть кнопку Пуск (або як там вона називається на Windows 10?), Почніть набирати «Зміна системних змінних середовища» і відкрийте відповідне вікно налаштувань.

), Почніть набирати «Зміна системних змінних середовища» і відкрийте відповідне вікно налаштувань

Там натисніть «Змінні середовища»:

Там натисніть «Змінні середовища»:

У вікні «Системні змінні» знайдіть і клацніть на Path, потім натисніть «Змінити»:

У вікні «Системні змінні» знайдіть і клацніть на Path, потім натисніть «Змінити»:

Далі «Створити» і впишіть туди «C: \ Server \ bin \ PHP \»:

Далі «Створити» і впишіть туди «C: \ Server \ bin \ PHP \»:

Підніміть запис в самий вгору:

Підніміть запис в самий вгору:

Закрийте всі вікна зі збереженням зроблених змін.

Перезапустіть сервер.

12. Звісно, ​​уповільнення трафіку і / або помилка сервера Asynchronous AcceptEx failed

Якщо ваш сервер навіть без навантаження «зависає» - не показує веб-сторінки до перезапуску, а в балках сервера помилки Asynchronous AcceptEx failed:

[Thu Jun 05 року 07: 24: 55.747090 2014] [mpm_winnt: notice] [pid 1784: tid 444] AH00455: Apache / 2.4.9 (Win64) PHP / 5.5.13 configured - resuming normal operations [Thu Jun 05 року 07: 24: 55.747090 2014] [mpm_winnt: notice] [pid 1 784: tid 444] AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 [Thu Jun 05 року 07: 24: 55.747090 2014] [core: notice] [ pid тисячі сімсот вісімдесят чотири: tid 444] AH00094: Command line: 'c: \\ Server \\ bin \\ Apache24 \\ bin \\ httpd.exe -d C: / Server / bin / Apache24' [Thu Jun 05 7:24: 55.748090 2014] [mpm_winnt: notice] [pid +1784: tid 444] AH00418: Parent: Created child process 4952 [Thu Jun 05 року 07: 24: 55.957978 2014] [mpm_winnt: notice] [pid 4952: tid 388] AH00354: Child: Starting 64 worker threads. [Thu Jun 05 року 07: 26: 16.695036 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Зазначене мережеве ім'я вже недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 року 07: 26: 16.695036 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Зазначене мережеве ім'я вже недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 року 07: 26: 48.250710 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Зазначене мережеве ім'я вже недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 року 07: 26: 48.250710 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Зазначене мережеве ім'я вже недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 року 07: 29: 27.137784 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Зазначене мережеве ім'я вже недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed. [Thu Jun 05 року 07: 29: 27.137784 2014] [mpm_winnt: warn] [pid 4952: tid 1112] (OS 64) Зазначене мережеве ім'я вже недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

То в конфігураційний файл Apache додайте:

AcceptFilter http none AcceptFilter https none EnableSendfile off EnableMMAP off

13. Налагодження cURL в веб-сервері Apache на Windows

Якщо ви не знаєте, що таке cURL, значить це вам не потрібно. Тобто сміливо пропускайте цей крок.

cURL - це консольна утиліта, яка дозволяє обмінюватися даними з віддаленими серверами, використовуючи дуже велика кількість протоколів. cURL може використовувати кукіз і підтримує аутентифікацію. Якщо для веб-додатки потрібно cURL, то це повинно бути вказано в залежностях. Для багатьох популярних додатків cURL не потрібно, наприклад, для phpMyAdmin і WordPress немає необхідності налаштовувати cURL.

Якщо cURL налаштована неправильно, то ви будете отримувати помилки:

Fatal error: Call to undefined function curl_multi_init () in ...

або:

Помилка curl: SSL certificate problem: unable to get local issuer certificate

Щоб cURL працювала в Apache на Windows вам потрібно:

1) Обов'язково додати PHP директорію в PATH (системні змінні середовища). Як це зробити сказано трохи вище: https://hackware.ru/?p=21#11

2) У файлі C: \ Server \ bin \ PHP \ php.ini повинна бути розкоментованим рядок extension = curl

3) Необхідно завантажити файл, потім в папці C: \ Server \ створити нову папку з ім'ям certs і в цю нову папку (C: \ Server \ certs \) перемістіть скачав файл.

4) У файлі C: \ Server \ bin \ PHP \ php.ini знайдіть рядок

; Curl.cainfo =

І замініть її на

curl.cainfo = C: \ Server \ certs \ cacert.pem

5) Перезавантажте сервер.

14. Створення резервної копії даних (сайти і бази даних) Apache в Windows

Вся значуща інформація, тобто файли сайтів і їх бази даних зберігаються в папці C: \ Server \ data \. Резервну копію на той випадок, якщо початкові дані зіпсувалися, можна робити двома способами.

Перший спосіб полягає в тому, що ми просто робимо копію всіх файлів (сайти + бази даних) в безпечне місце. Це простий метод і для більшості він буде найзручнішим.

Потрібно почати з того, що зупинити MySQL, оскільки поки вона не зупинена, деякі файли баз даних відкриті і не можуть бути правильно скопійовані:

net stop mysql

Тепер просто скопіюйте в будь-який надійне місце папку C: \ Server \ data \. Вона вже містить і бази даних (підпапка C: \ Server \ data \ DB \) і всі сайти (підпапка C: \ Server \ data \ htdocs \). Коли копіювання буде завершено, знову запустіть службу MySQL:

net start mysql

Якщо вам знадобитися відновити всі сайти, або окремі сайти, або тільки окремі файли сайту, то це можна робити без зупинки веб-сервера.

Якщо потрібно буде відновити бази даних, то знову потрібно буде зупинити MySQL і повернути вихідні файли C: \ Server \ data \ DB \.

Зверніть увагу, що якщо ви повністю повертаєте вихідну папку C: \ Server \ data \, то відбувається повний відкат всіх даних, тобто всі зміни, зроблені після створення резервної копії, зникнуть!

Другий метод резервного копіювання полягає в експорті баз даних (це робиться при запущеної службі MySQL) і створенні бекапа тільки папки сайтів C: \ Server \ data \ htdocs \. Цей спосіб трохи складніше, але ви можете контролювати, які саме бази даних ви бажаєте експортувати. Також в такому вигляді (бази даних у вигляді файлів .SQL і файли сайтів) зручно переносити сайти на інший веб-сервер або хостинг. Подробиці про те, як виконувати експорт баз даних тут .

Зазвичай це не потрібно, але при бажанні ви можете зробити резервну копію бінарних (здійсненних) файлів сервера. Всі ці файли знаходяться в папці C: \ Server \ bin \. Це Apache, MySQL та PHP - тобто програми, які відповідають за роботу сервера, але які ми в будь-який момент можемо завантажити з офіційних сайтів і знову налаштувати.

Якщо ви хочете зробити їх резервну копію (наприклад, перед оновленням сервера), то зупиніть служби:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k stop net stop mysql

І скопіюйте в безпечне місце папку C: \ Server \ bin \.

До речі, ви можете скопіювати весь сервер цілком, тобто папку C: \ Server \ - в цьому випадку одночасно вийти резервна копія і виконуваних файлів, і даних (бази даних, сайти).

Коли копіювання завершено, знову запустіть служби:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k start net start mysql

15. Оновлення сервера

Всі компоненти, що становлять веб-сервер, активно розвиваються і регулярно виходять нові версії. При виході нової версії ви можете оновити один якийсь компонент (наприклад, PHP), або відразу кілька.

оновлення Apache

скачайте архів з новою версією Apache.

Скопіюйте в безпечне місце файл c: \ Server \ bin \ Apache24 \ conf \ httpd.conf.

Зупиніть та видаліть службу Apache:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k stop c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k uninstall

Видаліть папку C: \ Server \ bin \ Apache24 \ (це не торкнеться ваші сайти і бази даних).

Розпакуйте новий архів в C: \ Server \ bin \. Скопіюйте збережений раніше файл httpd.conf в c: \ Server \ bin \ Apache24 \ conf \ httpd.conf.

Запустіть службу Apache:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k install c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k start

оновлення PHP

скачайте архів з новою версією PHP.

Скопіюйте в безпечне місце файл c: \ Server \ bin \ PHP \ php.ini.

Видаліть папку C: \ Server \ bin \ PHP \.

Розпакуйте новий архів в C: \ Server \ bin \ PHP.

Скопіюйте збережений раніше файл php.ini в c: \ Server \ bin \ PHP \ php.ini.

Перезапустіть службу Apache:

c: \ Server \ bin \ Apache24 \ bin \ httpd.exe -k restart

оновлення MySQL

Увага: при оновленні з MySQL 5 до MySQL 8 потрібні додаткові дії. Дивіться подробиці в статті: « Як оновитися з MySQL 5 до MySQL 8 ».

архів з новою версією MySQL.

Скопіюйте в безпечне місце файл c: \ Server \ bin \ mysql-8.0 \ my.ini.

Зупиніть та видаліть службу MySQL:

net stop mysql c: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --remove

Видаліть папку C: \ Server \ bin \ mysql-8.0 \ (це не торкнеться ваші сайти і бази даних).

Розпакуйте новий архів в C: \ Server \ bin \. Перейменуйте папку в mysql-8.0.

Скопіюйте збережений раніше файл my.ini в c: \ Server \ bin \ mysql-8.0 \ my.ini.

Запустіть службу MySQL:

C: \ Server \ bin \ mysql-8.0 \ bin \ mysqld --install net start mysql

оновлення phpMyAdmin

скачайте архів з новою версією phpMyAdmin.

Скопіюйте в безпечне місце файл c: \ Server \ data \ htdocs \ phpMyAdmin \ config.inc.php.

Видаліть папку C: \ Server \ bin \ phpMyAdmin \ (це не торкнеться ваші сайти і бази даних).

Розпакуйте новий архів в C: \ Server \ data \ htdocs \. Перейменуйте папку в phpMyAdmin.

Скопіюйте збережений раніше файл config.inc.php в c: \ Server \ data \ htdocs \ phpMyAdmin \ config.inc.php.

16. Додатковий матеріал по налаштуванню веб-сервера в Windows:

17. У мене нічого не працює

Дана інструкція регулярно перевіряється і тестується з найновішими компонентами. Оскільки інструкція об'ємна, то виникнення помилок може бути пов'язано з тим, що ви щось пропустили або зробили неправильно. Для початку спробуйте все видалити і зробити все заново.

Буває рідкісна помилка, пов'язана з тим, що якась інша програма вже прослуховує 80й порт. Щоб визначити, чи зайнятий вже порт 80 зробіть так:

1) натисніть клавіші WIN + x

2) з списку виберете «Windows PowerShell (адміністратор)»

3) виконайте там:

cmd for / f "tokens = 1,2,3,4,5 *"% i in ( 'netstat -aon ^ | findstr ": 80" ^ | findstr / i listening') do echo% j% l & @tasklist | findstr% m

Якщо якась програма вже висить на 80м порту, то ви її побачите.

Я зібрав архів, який включає в себе всі описані тут компоненти веб-сервера для Windows, які вже правильно налаштовані. Тобто вам досить просто розпакувати цей архів, і ви отримаєте готовий Apache. Подробиці тут: apache-windows.ru

з PHP (з вибором версій), з MySQL і phpMyAdmin. Даний сайт розміщений саме на ньому: чуйна і кваліфікована технічна підтримка, установка WordPress і інших веб-додатків в одні клік, в подарунок при оплаті за рік, безкоштовний перенесення сайту. При замовленні хостингу по + 1 місяць безкоштовно (промокод b33e0e2f).

Пов'язані статті:

Usr / bin / env php <?
Mail'; $ File_name = isset ($ options [ 'file'])?
File_name; if (! is_dir ($ mail_dir)) {mkdir ($ mail_dir, 0777, TRUE); if (! is_dir ($ mail_dir)) {die ( 'Mail folder ['. $ mail_dir. '] not created'); }} $ Stream = $ is_onefile?
Is_windows?
File_path, $ stream, $ is_prepend?
Eml'; return file_exists ($ mail_dir. '/'. $ fn)?
Або як там вона називається на Windows 10?
Ru/?