Встановлення та налаштування PHP. Встановлення PHP під ОС Windows Додавання PHP директорії до PATH на Windows

Сайт розробника: http://www.php.net/
Дистрибутив(VC9 x86 Thread Safe, Zip архів): http://windows.php.net/download/
Пряме посилання: php-5.3.10-Win32-VC9-x86.zip
Заодно скачайте відразу документацію російською у форматі.chm, вона вам знадобиться при вивченні та роботі: php_enhanced_ru.chm

Розпакуйте архів у бажаний каталог (спочатку пропонується C:\php). Відкрийте конфігураційний файл, який містить рекомендовані налаштування — «php.ini-development» (що знаходиться в корені дистрибутива), перейменуйте його на php.ini і зробіть наступні зміни.

Редакція php.ini:

  1. Знайдіть рядок:
    post_max_size = 8M
    Збільште до 16 Мбайт максимальний розмірданих, що приймаються методом POST, змінивши її на:
    post_max_size = 16M
  2. Знайдіть рядок:
    ;include_path = ".;c:\php\includes"
    Розкоментуйте її, прибравши перед рядком символ крапки з комою.
    (Увага виняток! Зворотні косі риси при вказівці шляху):
    include_path = ".; c: \ php \ includes"
    Створіть порожній каталог «C:\php\includes», для зберігання класів, що підключаються.
  3. Знайдіть рядок:
    extension_dir = "./"
    Встановіть значення цієї директиви шлях до папки з розширеннями:
    extension_dir = "C:/php/ext"
  4. Знайдіть рядок:
    ;upload_tmp_dir =
    Розкоментуйте її та вкажіть у значенні наступний шлях:
    upload_tmp_dir = "C:/php/upload"
    Створіть порожню папку "C:\php\upload" для зберігання тимчасових файлів, що завантажуються через HTTP.
  5. Знайдіть рядок:
    upload_max_filesize = 2M
    Збільште максимально допустимий розмір файлів, що завантажуються до 16 Мбайт:
    upload_max_filesize = 16M
  6. Підключіть, розкоментувавши, дані бібліотеки розширень:
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_mysqli.dll
  7. Знайдіть рядок:
    ;date.timezone =
    Розкоментуйте та встановіть часовий пояс вашого місцезнаходження (список часових поясів можна знайти в документації):
    date.timezone = "Europe/Moscow"
  8. Знайдіть рядок:
    ;session.save_path = "/tmp"
    Розкоментуйте та встановіть значенням цієї директиви такий шлях:
    session.save_path = "C:/php/tmp"
    Створіть порожню папку C:\php\tmp для зберігання тимчасових файлів сесій.

Збережіть зміни та закрийте файл php.ini.

Далі необхідно додати каталог із встановленим PHP інтерпретатором у PATH операційної системи. Для чого пройдіть по шляху "Start" ("Пуск") -> "Control Panel" ("Панель управління") -> "System" ("Система"), відкрийте вкладку "Advanced" ("Додатково"), натисніть кнопку " Environment Variables» (« Змінні середовища»), у розділі «System Variables» («Системні змінні») зробіть подвійне клацання на рядку «Path», додайте в поле «Variable Value» («Значення змінної»), до того, що там вже існує, шлях до каталогу зі встановленим PHP, наприклад, C:\php (без лапок). Зверніть увагу на те, що символ точки з комою розділяє шляхи. Щоб внесені зміни набули чинності, перезавантажте операційну систему.

Приклад рядка Path:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

Встановлення та налаштування PHPінтерпретатора – завершено.

Опис бібліотек, що підключаються:

php_bz2.dll– За допомогою цього розширення PHP зможе створювати та розпаковувати архіви у форматі bzip2.

php_curl.dll– Дуже важлива та потрібна бібліотека, що дозволяє з'єднуватись та працювати з серверами, за допомогою величезної кількості інтернет-протоколів.

php_gd2.dll– Ще одна незамінна бібліотека, яка дозволяє працювати з графікою. Ви думали на PHP можна тільки HTML сторінки генерувати? А ось і ні! З допомогою PHPможна майже все, навіть малювати.

php_mbstring.dll– Бібліотека містить функції для роботи з багатобайтними кодуваннями, до яких належать кодування східних мов (японська, китайська, корейська), Юнікод (UTF-8) та інші.

php_mysql.dll– Ім'я бібліотеки говорить саме за себе – вона необхідна для роботи з сервером MySQL.

php_mysqli.dll– Ця бібліотека є розширенням попередньої та містить додаткові функції PHP для роботи з сервером MySQL версії 4.1.3 та вище.

Даних бібліотек має вистачити для повноцінної роботи PHP. З часом, якщо з'явиться така необхідність, ви зможете підключити додаткові бібліотеки, але не варто підключати їх все відразу з думкою, що кашу олією не зіпсуєш, у цьому випадку надмірна кількість підключених бібліотек може помітно уповільнити роботу PHP.

Оригінал статті: http://php-myadmin.ru/learning/instrument-php.html

У 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) (Build: Apr 11 2017 19:54:37) (ZTS MSVC14 (Visual C++ 2015) x64) Copyright (c) 1997-2017 -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 Listing on http://127.0.0.1:8888 Document root is C:\ Press Ctrl-C для 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". Після внесення зміни буде потрібно перезавантаження.

На цьому маю все. Перша частина мануалу для новачків готова.

Розробники веб-застосунків можуть зіткнутися з труднощами під час встановлення скриптової мови PHP в Ubuntu Server. Пов'язано це з багатьма чинниками. Але користуючись цим керівництвом, кожен зможе уникнути помилок під час інсталяції.

Встановлення мови PHP в Ubuntu Server може виконуватися різними способами - все залежить від його версії та від версії операційної системи. А головна відмінність полягає у самих командах, які потрібно буде виконувати.

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

Спосіб 1: Стандартне встановлення

Стандартна установка передбачає використання останньої версії пакета. У кожній операційній системі Ubuntu Server вона різна:

  • 12.04 LTS (Precise) – 5.3;
  • 14.04 LTS (Trusty) – 5.5;
  • 15.10 (Wily) – 5.6;
  • 16.04 LTS (Xenial) – 7.0.

Всі пакети розповсюджуються через офіційний репозиторій операційної системи, тому підключати сторонній не знадобиться. Але встановлення повного пакета виконується у двох варіантах і залежить від версії ОС. Так, для інсталяції PHP в Ubuntu Server 16.04 виконайте цю команду:

sudo apt-get install php

А для більш ранніх версій:

sudo apt-get install php5

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

Модуль для Apache HTTP Server

Щоб встановити модуль PHP для Apache в Ubuntu Server 16.04, вам потрібно виконати наступну команду:

sudo apt-get install libapache2-mod-php

У ранніх версіях ОС:

sudo apt-get install libapache2-mod-php5

Ви запитаєте пароль, після введення якого необхідно дати дозвіл на інсталяцію. Для цього впишіть літеру "Д"або "Y"(залежно від локалізації Ubuntu Server) та натисніть Enter.

Для встановлення модуля FPM в операційній системі версії 16.04 виконайте таке:

sudo apt-get install php-fpm

У ранніх версіях:

sudo apt-get install php5-fpm

У цьому випадку установка почнеться автоматично відразу після введення пароля суперкористувача.

CLI необхідний розробникам, які займаються створенням консольних програм на PHP. Щоб у нього впровадити цю мову програмування, в Ubuntu 16.04 потрібно виконати команду:

sudo apt-get install php-cli

У ранніх версіях:

sudo apt-get install php5-cli

PHP розширення

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

Примітка: нижче буде надано для кожного розширення по дві команди, де перша для Ubuntu Server 16.04, а друга для більш ранніх версій ОС.


Встановлення веб-сервера на Linux:

  • Якщо у вас Ubuntu, то вам підійде стаття "Як встановити веб-сервер Apache з PHP 7, MariaDB/MySQL та phpMyAdmin (LAMP) на Ubuntu 16.10".
  • Якщо у вас Arch Linux, то вам підійде стаття "Установка LAMP (Linux, Apache, MySQL/MariaDB, PHP7 та phpMyAdmin) в Arch Linux/BlackArch".

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

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

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

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

Етапи встановлення:

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

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 програм поняття бітності не застосовується.

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

Ще нам потрібний файл 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/"

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

# AllowOverride controls what directives може бути placed in .htaccess files.

# It can be "All", "None", або будь-яка комбінація клавіш: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride controls what directives може бути placed in .htaccess files.

# It can be "All", "None", або будь-яка комбінація клавіш: # 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.

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

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, він розміщений тут 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: Змінюйте 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.\n\n in Unknown on line 0 PHP Warning: PHP Startup: Безкоштовно 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. 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\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: Безкоштовно load dynamic library "C:\Server\bin \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.\n\n\n\n\n\n\n\n\n\n\n\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" \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, потім натисніть « Змінити»:

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

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

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

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

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

AH00455: Apache/2.4.9 (Win64) PHP/5.5.13 configured -- resuming normal operations AH00456: Apache Lounge VC11 Server built: Mar 16 2014 12:42:59 AH00094: Command line: " bin\Apache24\bin\httpd.exe -d C:/Server/bin/Apache24" AH00418: Parent: Created child process 4952 AH00354: Child: Starting 64 worker threads.

(OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

(OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

(OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

(OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

(OS 64)Вказане ім'я мережі більше недоступне. : AH00341: winnt_accept: Asynchronous AcceptEx failed.

(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. C:\Server\bin\PHP\php.iniЯкщо cURL налаштована неправильно, ви отримуватимете помилки: Fatal error: Call для undefined function curl_multi_init() in …

Помилка curl: SSL certificate problem: unable to get local issuer certificate 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), або відразу кілька.

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

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

За роки існування цієї інструкції було зібрано багато типових помилок, що виникають у веб-сервері, всі вони разом із вирішенням проблем описані на окремій сторінці. Помилки при налаштуванні та встановленні Apache, PHP, MySQL/MariaDB, phpMyAdmin». Там написано, як правильно описати свою проблему, щоб вам допомогли з нею розібратися.

Якщо у вас щось не працює, прохання перед тим, як задати питання в коментарях, виконати пошук по цій сторінці помилок. Для цього ви можете використовувати Ctrl+F у вашому браузері та шукати в частині рядка помилки.

Буває рідкісна помилка, пов'язана з тим, що якась інша програма вже прослуховує 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 %m

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

Видалення сервера

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

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k uninstall net stop mysql c:\Server\bin\mysql-8.0\bin\ mysqld --remove

Видаліть файли сервера, для цього видаліть папку C:\Server\. Увага, це видаляє всі бази даних та ваші сайти.

Як захистити веб-сервер Apache від злому у Windows

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

Дистрибутив Apache2.2.2 у вигляді інсталятора з ім'ям apache_2.2.2-win32-x86-no_ssl.msi. Ви зможете знайти його за адресою www.sai.msu.su/apache/dist/httpd/binaries/win32/

Запустіть завантажений інсталятор на виконання. Коли установник запитає Вас про те, куди встановити Apache, вкажіть йому директорію c:/Apache2.2

Примітка

Всі подальші інструкції будуть ґрунтуватися на припущенні, що Apache встановлюється саме до каталогу c:/Apache2.2. Якщо ви встановлюєте Apache в інший каталог, ви повинні відповідним чином адаптувати інструкції до своєї ситуації.

Установка Apache з інсталятора досить прозора і не викликає особливих труднощів, внаслідок чого не раціонально наводити її повний опис цієї статті. Наведемо лише одне діалогове вікно, яке користувачеві потрібно заповнити в процесі установки. Це вікно вибору імені сервера. У полі "Network Domain" та "ServerName" запишіть ім'я сервера, на роботу з яким Apache буде настроєно за замовчуванням.


Примітка

Ця інструкція описує встановлення сервера Apache у припущенні, що він буде використовуватися тільки для локального тестування сайтів і не працюватиме в мережах Інтранет та Інтернет. Для роботи сервера в мережах Інтранет та Інтернет Ви повинні ввести реальне доменне ім'я, яке використовуватиме сервер.

Якщо процес установки пройшов коректно, то після її завершення Apache2.2 у Вас вже має бути запущений як служба. Щоб перевірити, чи так це відкрийте список служб Windows (« Пуск» | "Панель управління" | "Адміністрація" | "Служби") та знайди в ньому рядок Apache2.2. (або Apache2). Стан служби: працює чи ні відображається у третьому стовпці.

Якщо Ви не можете знайти у списку служб рядок Apache2.2, то ймовірно в процесі встановлення стався збій і Apache не встановився як служба. У цьому випадку Вам необхідно встановити Apache, як служби самостійно. Для виконання цього знадобиться програма з консоллю, наприклад, FAR, WindowsCommander, TotalCommander і т.п.

Відкрийте програму з консоллю, перейдіть до каталогу c:/Apache2.2/bin та виконайте команду:

C:/Apache2.2/bin/httpd.exe -k install

У відповідь Вам має бути видано повідомлення "The Apache2 service is successfully installed". Зовнішній вигляд консольного вікна наведено малюнку.


Перший запуск

Управління Apache-ем (пуск, зупинка, перезапуск) здійснюється через графічний інтерфейс управління службами Windows, або в консолі виконанням файлу httpd.exe з певними ключами.

Керування службами Windows здійснюється через контекстне меню, яке відкривається після натискання правої кнопки миші на ім'я служби. Якщо Apache ще не запущено, виконайте команду «Пуск» із контекстного меню.


Якщо Вам подобається працювати в консолі, то для керування Apache використовуються ключі, наведені нижче.

Команди управління Apache через консоль

Httpd.exe -k start (Запуск служби)
httpd.exe -k stop (Зупинення служби)
httpd.exe -k restart (Перезапуск)


За промовчанням кореневою директорією сервера встановлена ​​директорія c:/Apache2.2/htdocs. Саме в ній розташований файл index.html, що відображається на ім'я localhost. За визначення кореневої директорії сайту відповідає директива DocumentRootу файлі c:/Apache2.2/conf/httpd.conf.

DocumentRoot "C:/Apache2.2/htdocs"

Ви можете змінити її та зробити інший каталог кореневою директорією сервера.

Однак, перш ніж робити це, слід провести мінімальне налаштування конфігураційного файлу httpd.conf. За умовчанням, Apache налаштований так, щоб заборонити будь-який доступ до директорій сайтів і дозволи повинні бути явно встановлені для кожної директорії, як це зроблено для директорії C:/Apache2.2/htdocs. Якщо ж Ви перенесете кореневу директорію сервера в інший каталог, не налаштувавши відповідні дозволи, то у відповідь Вам буде видано помилку 403 Forbidden і сторінку, зображену на малюнку.


Тому, якщо ви НЕ збираєтеся використовувати Ваш новий Apache для надання послуг хостингу в Інтернеті або в локальній мережі, слід відразу ж зняти встановлений за умовчанням захист.

Знайдіть у файлі С:/Apache2.2/conf/httpd.conf рядки:


Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all

Зверніть увагу на рядок Deny from all.

Вона забороняє будь-який доступ до директорій, у тому числі і до директорій віртуальних хостів. При спробі звернення до них Apache відповість помилкою 403 Forbidden. Противагою їй є директива "Allow from all". Встановлення цієї директиви скасовує дію директиви "Deny from all".

Можна встановлювати директиву Allow from all для кожної директорії та для кожного віртуального хоста, але можна зробити простіше та прибрати (або закоментувати) директиву «Deny from all» із контейнера.


Options FollowSymLinks
AllowOverride None
Order deny,allow
# Deny from all
Satisfy all

Після виконання цих нехитрих дій перезапустіть Apache. Як це зробити описується вище.

Встановлення PHP

Сучасний web-сервер вже немислимий без підтримки сторінок, що динамічно-генеруються. У Росії лідером серед технологій створення динамічних сторінок та web-додатків є технологія PHP. Нижче буде розглянуто процес підключення PHP на прикладі версії 5.3.5. Якщо у вас вже встановлено цю версію PHP, то можете відразу переходити до розділу «Підключення PHP до Apache2.2.2».

Дистрибутив із PHP Ви можете завантажити з нашого сайту за адресою . За посиланням також можна ознайомитися з правилами вибору дистрибутива і чому ми взяли на себе сміливо запропонувати завантажити дистрибутив з нашого сайту, а не з офіційного php.net. При завантаженні дистрибутива, представленого за посиланням, передбачається, що ви встановлюватимете PHP як модуль.

Розпакуйте zip-архів з php до директорії c:/php-5.3.5. На цьому налаштування PHP завершено. Подальші дії стосуватимуться налаштування зв'язки PHP+Apache та конфігурування самого PHP.

Примітка

Всі подальші інструкції будуть ґрунтуватися на припущенні, що Ви використовуєте php-5.3.5, встановлений у каталог c:/php-5.3.5. Якщо у Вас інша версія PHP або Ви встановлюєте php в інший каталог, то Ви повинні відповідним чином адаптувати інструкції до своєї ситуації.

Підключення PHP до Apache2.2.2

Проблеми з підключенням PHP до Apache2.2

Якщо Ви спробуєте підключити штатний модуль php5apache2.dll до Apache2.2.2, то на Вас чекає невдача. Apache не захоче запускатися, надаючи повідомлення, зображене на малюнку.


А в журналах системи та програм з'являться наступні повідомлення

The Apache service nameted reported the following error:
>>> httpd.exe: Syntax error on line 115 of C:/Apache2.2/conf/httpd.conf:
Cannot load C:/php-5.3.5/php5apache2.dll into server: \xcd\xe5 \xed\xe0\xe9
\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.

Бібліотека php5apache2.dll призначена для Apache 2.0.X, для Apache 2.2.X необхідно одержувати бібліотеку php5apache2_2.dll (вона знаходиться поряд з php5apache2.dll у дистрибутиві).

Конфігурація httpd.conf для підключення PHP

Для підключення php, як модуль, необхідно додати всього 3 інструкції у файл httpd.conf

Інструкції для підключення PHP до httpd.conf

LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
AddType application/x-httpd-php phtml php
PHPIniDir "c:/php-5.3.5/"

Ці рядки слід помістити приблизно в середину файлу httpd.conf, наприклад, відразу після директив LoadModule. Конкретне розташування цих директив не має принципового значення, проте не можна поміщати їх на початку, а також у самому кінці файлу httpd.conf.

  • Перший рядок завантажує модуль PHP, реалізований у бібліотеці php5apache2_2.dll
  • Другий рядок встановлює відповідність між файлами з розширенням php та mime-типом application/x-httpd-php, що обробляється модулем PHP.
  • Третій рядок дозволяє явно вказати розташування конфігураційного файлу php.ini.

Примітка

Директиви PHPIniDir сильно не вистачало в Apache1.3, так як часто виникала плутанина в налаштуванні php за наявності кількох копій файлу php.ini або при розміщенні його в невідповідній директорії.

Наступним кроком необхідно створити файл конфігурації для PHP. У httpd.conf у директиві PHPIniDir місцем розташування конфігураційного файлу php була вказана директорія c:/php-5.3.5. Сам конфігураційний файл має називатися php.ini

У директорії c:/php-5.3.5 є кілька шаблонів конфігураційних файлів. Як основу візьмемо файл c:/php-5.3.5/php.ini-recommendedі перейменуємо його в php.ini. Таким чином, конфігураційний файл PHP (php.ini) розташовуватиметься в директорії c:/php-5.3.5 і саме в нього повинні вносити всі зміни конфігурації PHP.

Після внесення змін до httpd.conf та створення файлу php.ini перезавантажте Apache.

Створіть тестовий php-скрипт під ім'ям phpinfo.php, який виконує однойменну функцію і збережіть його в директорію c:/Apache2.2/htdocs.

Скрипт phpinfo.php

echo phpinfo();

// Зверніть увагу, що використано повний синтаксис запису
// php-скрипт.?>

Примітка

У тестовому скрипті phpinfo.php для визначення PHP-скрипту використано повний синтаксис. У дистрибутивах PHP останніх версій синтаксис короткого запису за замовчуванням вимкнено. За включення режиму короткого запису відповідає директива short_open_tagу файлі php.ini. Її потрібно встановити у значення On.

Тепер зверніться до цього скрипту через браузер, ввівши в адресному рядку http://localhost/phpinfo.php. У відповідь Вам повинні бути відображені широко відомі фіолетові сторінки, що відображають налаштування php та його розширень.


Якщо звіт функції phpinfo() у вигляді "фіолетових таблиць" відобразилися - отже php успішно виконується Apache-ем.

Можливі помилки

Apache завантажується, але замість "фіолетових таблиць" відкривається пуста сторінка.

Перевірте: тестовий скрипт записаний через повний синтаксис або через скорочений? Тобто:

Має бути записано
echo phpinfo();
?>
замість
echo phpinfo();
?>




Top