Встановлення PHP під Windows. Установка та налаштування PHP Установка php 5 3

Головна / Налаштування

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

Отже, якщо ви читаєте цей пост, або ви вперше встановлюєте PHP, або у вас виникли питання/проблеми в процесі встановлення або налаштування PHP. Я постараюся якнайдокладніше описати цей процес.

Для початку нам потрібен дистрибутив із найсвіжішою версією PHP. Його можна завантажити з офіційного сайту - www.php.net (9.5 Mb).

Завантажуємо дистрибутив на комп'ютер, вибираючи дзеркало, яке географічно найближче до вас перебувати

Виймаємо вміст архіву в папку C:/php5. Знову ж таки, якщо ви вперше встановлюєте зв'язку Apache -PHP- MySQLрекомендую встановлювати за вказаними мною шляхами.

Отже, у C:/php5у вас має бути таке:

Налаштування PHP завершено, тепер займемося його налаштуванням.

Перейменуйте файл php.ini-recommendedв php.ini:

  • вибираємо файл
  • натискаємо F2
  • видаляємо -recommended
  • натискаємо Enter.

Тепер відкриємо файл у блокноті та займемося налаштуванням PHP. Файл містить досить велику кількість налаштувань PHP, але нам вони зараз не потрібні. Ми займемося лише базовим налаштуванням, яке дозволить нам запустити PHP на локальній машині.

Небагато про формат опису у файлі налаштувань

Символ ';' означає, що рядки закоментовані (вони не враховуватимуться). Наприклад:

; ignore_user_abort = On

Як ви могли помітити настройки поділені на групи, для зручності пошуку файлу. Наприклад, налаштування керування обмеженням ресурсів:

;;;;;;;;;;;;;;;;;;;;;;
; Resource Limits;
;;;;;;;;;;;;;;;;;;;;;;

max_execution_time = 30; Maximum execution time of each script, in seconds (Максимальний час виконання скрипта).
max_input_time = 60; Maximum amount of time each script may spend parsing request data
; max_input_nesting_level = 64; Maximum input variable nesting level
memory_limit = 128M; Maximum amount memory a script may consume (128MB) (Максимальна кількість пам'яті, що виділяється для скрипта).

Формат опису параметрів та їх значень:

ім'я_змінної = її_значення

Налаштування модулів PHP.

Знайдіть секцію Dynamic Extensions(Динамічні розширення). Там представлений великий список модулів для PHP:

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll

;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll

;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll

;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll

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

Щоб підключити модуль, потрібно видалити перед рядком символ ';'. Таким чином, ми розкоментуємо рядок і модуль буде використовуватися.

Давайте підключимо розширення PHPдля роботи з графікою – php_gd2.dll(воно нам знадобиться у майбутньому).

Щоб PHP зміг знайти, де лежать розширення, вкажемо шлях до них. Додайте наступний рядок до або після підключення розширень. У результаті у вас має вийти таке:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions;
;;;;;;;;;;;;;;;;;;;;;;
;
; Якщо ви будете мати extension loaded автоматично, використовуйте наступні
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; … or under UNIX:
;
; extension=msql.so
;
; Note that it should be the name of the module only; no directory information
; needs to go here. Specify location of the extension with the
; extension_dir directive above.

; Windows Extensions
; Зверніть увагу, що ODBC support is built in, so no dll необхідний для нього.
; Уважайте, що багато DLL-файлів ви знайдете в extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Візьміть до відповідного набору extension_dir directive.

extension_dir=”C:/php5/ext”

;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_msql.dll
;extension=php_mssql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.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_snmp.dll
;extension=php_soap.dll
;extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll

Зберігаємо зроблені нами зміни. Щоб зроблені нами застосовувалися, необхідно перезавантажити Apache.

Встановлення та налаштування PHPзавершено!

Як бачите – нічого складного. Якщо в процесі роботи вам знадобляться інші розширення, просто розкоментуйте рядок з потрібним вам розширенням (аналогічно до php_gd2.dll) і перезавантажте Apache.

У наступному пості, я розповім як змусити працювати PHP та Apache у зв'язці.

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

Інтерпретатор php може поставлятися як модуля для Apache, виконувати скрипти з командного рядка чи вигляді окремого сервісу php-fpm. Ці сервіси відрізняються своїми можливостями і призначенням, але для будь-якого виду інтерпретатора потрібно задати базові налаштування, наприклад, робоча папка, увімкнені розширення, відображення помилок і так далі. Всі ці установки задаються через файл php.ini. У цій інструкції ми розглянемо як виконується налаштування файлу php.ini в операційних системах Linux, хоча вся інформація підійде і для Windows.

Якщо у вас ще не встановлений інтерпретатор мови програмування php, ви можете ознайомитися зі статтею .

Для кожної версії інтерпретатора файл конфігурації php.ini знаходиться в окремій папці. Але всі конфігураційні файлизнаходяться в папці /etc/php, наприклад, /etc/php5:

Папка conf.d містить Загальні налаштуваннядля різних розширень та модулів, вони не будуть нас зараз цікавити. Цікавіші такі три папки - apache, cli і fpm. Вони містяться конфігураційні файли php.ini для кожного з цих інтерпретаторів.

Якщо ви збираєтеся використовувати кілька з цих інтерпретаторів, то вам доведеться вказувати налаштування для кожного окремо. Ви можете переконатися, що в кожній папці лежить файл php.ini.

Що стосується синтаксису файлу, то він розділений на секції, спочатку йде секція налаштування php, яка поділена на підсекції в залежності від типу налаштувань, далі йдуть секції налаштування різних модулів. Синтаксис самих налаштувань дуже простий, він відповідає звичному синтаксису файлів ini. Рядок починається з імені настройки, потім слід знак рівно, а за ним значення:

ім'я_налаштування = значення_параметра

Символами позначається ім'я секції, наприклад, а символ; означає коментар, він та всі символи після нього не читаються інтерпретатором. А тепер розглянемо як виконується налаштування php.ini та переберемо найважливіші параметри.

Налаштування файлу php.ini

Для зручності орієнтування ми розіб'ємо всі параметри за категоріями залежно від призначення. Вам достатньо знайти потрібний параметр і змінити його значення. Тепер відкрийте файл налаштувань php, наприклад, для модуля apache і перейдемо до налаштування. Щоб уникнути помилок, не додавайте нові рядки, а шукайте вже існуючі та змінюйте значення на потрібні:

sudo gedit /etc/php5/apache/php.ini

Спочатку йде трохи інформації про сам файл у вигляді коментарів, потім цікаві для нас налаштування.

Виведення помилок у php

Налаштування PHP 7 зазвичай починається з конфігурації виведення помилок. Усі параметри виводу помилок знаходяться в розділі Error handling and logging. За замовчуванням виведення помилок на екран під час виконання скрипта вимкнено. Це зроблено для того, щоб користувачі не змогли побачити нічого зайвого. Замість цього всі помилки записуються в лог файл. Якщо ви використовуєте php на домашньому комп'ютері, то такі заходи не потрібні і ви можете відразу виводити все на екран:

display_errors=off

Замініть off на on. У php використовуються різні типипомилок, наприклад, критичні, попередження, помилки синтаксису, за допомогою рядка error_reporting ви можете включити виведення лише певних типів помилок:

error_reporting = E_ALL & ~E_DEPRECATED

Якщо потрібно об'єднати кілька типів помилок, використовуйте символ &, а для відключення відображення поставте перед типом знак ~. Наведений вище приклад відображає всі помилки (E_ALL), крім повідомлень про застарілі функції (E_DEPRECATED). Ви можете відключити всі типи, використовуючи 0:

error_reporting = 0

Увімкніть запис помилок php в файл файл, якщо не виводьте їх на екран:

Щоб не засмічувати лог однотипними повідомленнями можна ігнорувати повторювані помилки в межах одного виконання:

ignore_repeated_errors = On

Обмеження ресурсів

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

За замовчуванням максимальний час виконання скрипту – 30 секунд, зробимо хвилину:

max_execution_time = 30

Якщо вказати 0, скрипт може виконуватися нескінченно. Ви також можете обмежити час, протягом якого скрипт завантажуватиме дані, 60 секунд:

max_input_time=60

Максимальна кількість змінних у GET та POST:

max_input_vars = 1000

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

memory_limit = 128M

Максимальний розмір даних, що передаються в запиті POST також обмежується, розмір за замовчуванням - 8 Мегабайт:

post_max_size=8M

Ви можете обмежити область дії php в системі за допомогою опції openbase_dir, вона вказує папку, вище за яку скрипт не може отримати доступ до файловій системі:

open_basedir = /var/www/

За допомогою директив disable_functions та disable_classes ви можете відключити використання у скриптах певних функційабо класів, наприклад, це може бути корисним для веб-хостингів. У цьому прикладі ми відключаємо використання функції ini_set, яка дозволяє змінювати налаштування php із скрипту:

disable_functions = ini_set

Директорії за замовчуванням

Файл налаштування php.ini дозволяє вказати шляхи у файловій системі за промовчанням для різних дій. Ви можете задати папки де система шукатиме скрипти, якщо ви спробуєте підключити їх за допомогою інструкції include:

include_path = ".:/usr/share/php5:/usr/share/php5/PEAR"

Папка з модулями php:

extension_dir="./"

Папка для запису тимчасових файлів:

sys_temp_dir = "/tmp"

Для того, щоб користувачі могли завантажувати свої файли на сервер, наприклад, фото, потрібно включити цю функцію в php:

file_uploads = On

Максимальний розмір файлу, що завантажується:

upload_max_filesize = 2M

Максимальна кількість файлів, які можуть завантажити один скрипт:

max_file_uploads = 20

Налаштування php.ini практично завершено, нам залишилися лише розширення.

Налаштування розширень

Розширення дозволяють дуже збільшити функціональність php. Наприклад, завдяки розширенням ви можете використовувати у своїх скриптах бази даних mysql, postgresql, mysqli, sqlite, графічну бібліотеку gd та багато іншого. Все це включається у цьому розділі.

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

extension=php_mysql.so
extension=php_mbstring.so
extension=php_pgsql.so

Зверніть увагу, що для windows розширенняматиме формат dll, але для linux потрібно використовувати so. У наступних секціях йде налаштування кожного з розширень, але ми їх розглядати не будемо тому, що вони зазвичай не вимагають налаштування.

Висновки

У цій статті ми розглянули як виконується налаштування php на сервері або звичайному комп'ютерідля створення веб-сайтів. Файл налаштувань php має досить просту структуруі з ним досить не складно впоратися. Після завершення всіх налаштувань та збереження змін не забудьте перезавантажити веб-сервер або сервіс php-fpm.

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

Від автора:один знайомий (ще той «кривих справ майстер») вирішив самостійно зібрати шафу. В результаті після кількох годин мук у нього вийшов лише стіл. Ось така метаморфоза сталася. Щоб не опинитися в подібній ситуації, розглянемо, як правильно встановити PHP.

Без чого не працюватиме PHP

- Не проста мова, а серверний. Через це просте встановлення інтерпретатора мови буде мало. Щоб ви змогли виконувати код на своєму персональному комп'ютері, знадобиться локальний сервер.

Подібного добра в всесвітньому павутиннювистачає. Перерахуванням переваг та недоліків кожного із серверів ми займатися не будемо. Натомість опишемо процес установки перевіреного часом варіанту - Apache, який вже давно асоціюється у всіх з розробкою на PHP.

Історія цього продукту докладно описана у Вікіпедії. Так як надійність Apache підтверджена багатьма роками «жорсткого» використання, то не буде на доказ це витрачати свій дорогоцінний час. Спробуємо самостійно встановити PHP серверна ПК під Віндою.

Встановлюємо «індіанця»

Розглянемо поетапну установку сервера з індійського племені Apache:

Заходимо на Apache.org, в меню праворуч тиснемо на "Download". Після цього в наданому списку дзеркал вибираємо будь-яке та завантажуємо інсталяцію з розширенням.msi (рідний формат під Windows) та версією не нижче 2.2

Оскільки проект є open source, то зараз розвелося безліч збірок цього сервера. Якщо не можете знайти вказану, перейдіть на цю адресу . Тут на дзеркалі доступні для завантаження рідні версії Apache.

Після завантаження запускаємо інсталяційний пакет на виконання. Процедура установки стандартна: погоджуємося з умовами використання, вказуємо ім'я домену та сервера, мило адміністратора. Потім "Next".

Вказуємо директорію, куди слід встановити PHP сервер Apache.

І чекаємо, поки пройде процес інсталяції ПЗ. Переходимо до директорії, куди встановили Apache. У папці конфігурацій знаходимо httpd.conf та відкриваємо його. Знаходимо рядок "Deny from all" і коментуємо цю директиву. Таким чином, ми знімаємо вбудований захист сервера, який не потрібний для локального використання Apache. Тобто відкриваємо доступ до всіх папок, у тому числі і до віртуальних. Якщо цього не зробити, то програма при спробі доступу до будь-якої директорії видасть «403» помилку.

Збережіть усі зміни та перезапустіть сервер.

Переходимо до PHP

Заходимо на php.net і завантажуємо одну з "86" версій дистрибутива (краще захищену). Потім розпаковуємо її в окремій папці на тому ж диску, де сервер. Я не буду повністю описувати всі параметри мови, які можна змінити. Докладніше про це можна прочитати у супутній технічній документації.

Хотілося б відзначити, що всі параметри PHP задаються у файлі php.ini. Він відкривається з допомогою будь-якого редактора (зокрема і Блокнотом). Наведу опис декількох часто використовуваних параметрів, які задаються через цей файл:

post_max_size – встановлює максимальний обсяг даних, які можна за один раз обробити за допомогою методу POST.

upload_max_filesize – максимальний розмір файлів, які можна завантажити.

default_charset – за допомогою даного параметраможна в PHP встановити за промовчанням кодування utf 8.

Тепер для повного щастя залишилося прописати кілька рядків у httpd.conf. З їх допомогою ми підключимо PHP до локального сервера, щоб він працював як модуль Apache. Цього цілком вистачає для написання та тестування коду у «домашніх» умовах. Вказані рядки слід розмістити в середині файлу:

LoadModule php5_module – шлях до інсталяції PHP/ php5apache2_2.dll – підключає бібліотеку, за допомогою якої дистрибутив буде використовуватися як модуль.

PHPIniDir "шлях до файлу php.ini/" (наприклад, PHPIniDir "F:/php-5.3.5/") - зрозуміло без слів.

AddType application/x-httpd-php phtml php – налаштовує відповідність між файлами PHPта mime-типом (application/x-httpd-php).

Ну як? Налаштування вимагає часу, уваги та вміння. А ви ніколи не замислювалися, що найлегше вже зібрана «шафа». Хоча в нашому випадку під шафою мається на увазі вже готовий пакет, у який входять і PHP, і сервер, і СУБД. Зрозуміло, що йдеться про Денвера. Завдяки йому ніяка «шафа» не зможе перетворитися під «умілими» руками фахівця на який-небудь «стіл» або «тумбочку».

Встановлення веб-сервера на 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:Serverbin.

Перейдіть до каталогу 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\створюйте папки та файли, наприклад:

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: Завантажити 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: Скажімо, натисніть 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\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: Сильно скачайте 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. 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, потім натисніть « Змінити»:

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

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

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

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:\\ 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.

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

Fatal error: Call для undefined function curl_multi_init() in …

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

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

1) Обов'язково додати PHP директорію до PATH (системні змінні середовища). Як це зробити сказано трохи вище:

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

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

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

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

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

До речі, можна скопіювати весь сервер цілком, тобто. папку 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 /i listening") do echo | 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 та інших веб-застосунків в одні клік,

1.3K

У цій статті наводиться покроковий посібник із встановлення PHP для спільної роботи з HTTP-сервером Apache на Windows. Ця процедура була протестована як на Windows XP та Vista. Передбачається, що ви вже завершили інсталяцію Apache .

Етапи налаштування PHP 5

1. Завантажте PHP 5

Перш ніж приступати до роботи, завантажте копію PHP 5 сторінки завантаження. Завантажте захищений пакет VC6 з розділу Windows Binaries — тобто не завантажуйте установник. Наприклад, виберіть пакет із позначкою « PHP 5.2.5 zip package», якщо на даний момент поточна версія - 5.2.5.

Примітка : Зверніть увагу, що я не тестував описану нижче процедуру з версіями PHP 5.3 тільки з 5.2.5, яка була останньою версією на момент написання статті. Теоретично, ті ж дії повинні виконуватись і для встановлення PHP 7 .

2. Встановіть PHP 5

Створіть на жорсткому диску папку для PHP. Я пропоную c:php , хоча ви можете використовувати іншу назву та розташування папки. Особисто я волію не використовувати імена з пробілами.

Вийміть всі файли із завантаженого архіву до цієї папки. Для цього просто двічі клацніть по zip-файлу. А потім перетягніть усі файли в папку c:php.

3. Тим, хто оновлює пакет: Видаліть старий файл PHP.INI із каталогу Windows

Якщо ви переходите на PHP 5 з старішої версії, перейдіть в каталог Windows , ( зазвичай це c:windows), і видаліть всі файли php.ini, які ви раніше там розміщували.

4. Налаштування PHP

Перейдіть до папки c:php та створіть копію файлу php.ini-recommended . Назвіть новий файл php.ini. Тепер у вас повинен бути файл c:phpphp.in із вмістом, ідентичним файлу c:phpphp.ini-recommended.

Примітка. Якщо ви використовуєте Apache 1, потрібно або перенести файл php.ini в каталог Windows ( c:windows), або налаштувати змінну середовища PATH , щоб включити до неї c:php . Якщо ви не знаєте, як це зробити, просто перемістіть файл php.ini до папки c:windows . Не потрібно цього робити, якщо використовуєте Apache 2, тому що пізніше ми вкажемо у файлі конфігурації Apache 2 директиву з розташуванням файлу php.ini.

Для встановлення PHP на Windows 7 за допомогою текстового редактора ( наприклад, такого як "Блокнот", який можна знайти в розділі "Службові" меню "Пуск")? відкрийте файл php.ini. Можливо, доведеться внести такі зміни до файлу:

а) Включення коротких тегів, що відкривають

Знайдіть наступний рядок:

short_open_tag = Off

Якщо для short_open_tag встановлено значення off , теги типу «

Оскільки багато сторонніх PHP-скриптів використовують формат «

short_open_tag = On

b) Чарівні лапки

При установці Apache PHP за промовчанням вхідні дані автоматично не екрануються за допомогою слеша. Якщо ви хочете, щоб вхідні дані мали префікс зворотної косої риси («»), наприклад, щоб відтворювати налаштування хостингу, знайдіть наступний рядок:

magic_quotes_gpc = Off

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

magic_quotes_gpc = On

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

c) Використання глобальних змінних

Ряд старих скриптів при виконанні виходять з того, що всі дані, що надсилаються через форму, автоматично будуть мати змінну PHP з тим же ім'ям. Наприклад, якщо у формі є поле для введення з ім'ям "something", старі скрипти PHP виходять з того, що PHP-процесор автоматично створить змінну з ім'ям $something, яка містить значення, задане через це поле.

Якщо ви використовуєте такі скрипти, потрібно знайти наступний рядок:

register_globals = Off

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

register_globals = On

Попередження : під час встановлення PHP на Windows не робіть цього, якщо у вас немає сторонніх скриптів, для роботи яких це необхідно. При написанні нових скриптів завжди слід виходити з того, що для елемента register_globals встановлено значення « Off«.

d) Відображення помилок

На «живому» сайті помилки у скрипті зазвичай реєструються без відображення у файлі помилок PHP. Але на локальній машині, поки ви тестуєте та налагоджуєте PHP-скрипт зручніше відправляти повідомлення про помилки при їх виявленні прямо у вікно браузера. Так ви не пропустите помилки, навіть якщо забудете перевірити файл журналу помилок.

Щоб PHP відображав повідомлення про помилки прямо у вікні браузера, знайдіть наступний рядок:

display_errors = Off

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

display_errors = On

Для цього параметра на працюючому сайті завжди має бути встановлене значення Off.

e) Шлях сесії

Якщо скрипт використовує сесії, знайдіть наступний рядок:

;session.save_path = "/tmp"

session.save_path визначає папку, в якій PHP зберігає файли сесії. Оскільки папка /tmp у Windows не існує, потрібно встановити іншу папку. Один із способів – створити папку з ім'ям c:tmp ( як раніше ми створили c:php) та вказати для цього параметра цю папку. Якщо це зробите, змініть цей рядок таким чином:

session.save_path = "c:tmp"

Зверніть увагу, що крім зміни шляху я також видалив з рядка префікс точки з комою («;») .

Можна також використовувати поточну папку TEMP на своєму комп'ютері. Або створіть папку tmp у каталозі PHP , наприклад, c:phptmp і відповідним чином настройте файл конфігурації. Можливих варіантів може бути багато. Якщо ви не можете вирішити, який із них вибрати, просто створіть c:php і зробіть, як я сказав вище.

f) Сервер SMTP

Якщо встановлений PHP 5 5, якщо скрипт використовує функцію mail() , і потрібно, щоб функція успішно надсилала пошту на локальному комп'ютері, знайдіть наступний розділ:

; Для Win32 тільки. SMTP = localhost smtp_port = 25; Для Win32 тільки. ;sendmail_from = [email protected]

Змініть його, вказавши адресу вашого SMTP-сервера та обліковий запис електронної пошти. Наприклад, якщо ваш SMTP-сервер mail.example.com, а адреса електронної пошти [email protected], змініть код так:

SMTP = mail.example.com smtp_port = 25 sendmail_from = [email protected]

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

Як налаштувати Apache для PHP 5

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

a) Запуск PHP 5 як модуля Apache

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

Якщо ви використовуєте Apache 1.x, файл знаходиться в папці c:Program FilesApache GroupApacheconf. Користувачі Apache 2.0.x можуть знайти його в папці C:Program FilesApache GroupApache2conf, а користувачі Apache 2.2.x - у папці C:Program FilesApache Software FoundationApache2.2conf. Як правило, він знаходиться в папці conf каталогу, де встановлено Apache.

Знайдіть розділ файлу з операторами LoadModule. Оголошення, перед якими стоїть символ хеша #, вважаються закоментованими.

Якщо ви використовуєте Apache 1.x, додайте наступний рядок після всіх операторів LoadModule:

LoadModule php5_module "c:/php/php5apache.dll"

Якщо ви використовуєте Apache 2.0.x, додайте наступний рядок після всіх операторів LoadModule:

LoadModule php5_module "c:/php/php5apache2.dll"

Якщо ви використовуєте Apache 2.2.x, додайте наступний рядок:

LoadModule php5_module "c:/php/php5apache2_2.dll"

Зверніть увагу, що в цьому прикладі установки PHP використовується символ прямої косої риси («/») замість традиційної зворотної косої риси Windows («»). Це не помилка.

Якщо ви використовуєте Apache 1.x, знайдіть серію операторів AddModule і додайте після всіх рядків наступну.

AddModule mod_php5.c

Потім знайдіть у файлі блок AddType і додайте наведений нижче рядок після останнього оператора AddType. Це потрібно зробити незалежно від того, яку версію Apache ви використовуєте. Для Apache 2.2.x потрібно знайти рядки AddType у розділі . Додати рядок безпосередньо перед закриттямдля цього розділу.

Якщо потрібна підтримка інших типів файлів, наприклад «.phtml», додайте їх до списку, наприклад:

Тим, хто використовує одну з версій Apache 2, потрібно вказати розташування ini-файлу PHP. Додайте наступний рядок у кінець httpd.conf.

PHPIniDir "c:/php"

Якщо ви використовували інший каталог, потрібно змінити c:/php на правильний шлях. Не забудьте застосувати косу межу («/»).

Якщо ви використовуєте Apache 1 , ви вже розмістили файл php.ini у папці Windows або десь у PATH . Тому PHP має знайти його самостійно.

Запуск PHP 5 як бінарний файл CGI

Якщо ви налаштували для PHP 5 завантаження в якості модуля Apache, можете пропустити цей розділ. Він призначений для тих, хто хоче налаштувати для PHP запуск як бінарний CGI .

Процедура цього при установці PHP 7 однакова як для Apache 1.x, так і для всіх версій серії 2.x.

Знайдіть частину конфігураційного файлу Apache, в якій знаходиться розділ ScriptAlias. Додайте наведений нижче рядок відразу після рядка ScriptAlias ​​для « cgi-bin». Якщо ви використовуєте Apache 2.2.x , переконайтеся, що рядок розташований до закриттядля розділу .

Зверніть увагу: якщо ви встановили PHP в іншому місці, наприклад, c:Program Filesphp , потрібно вказати відповідний шлях замість c:/php/ (наприклад, c:Program Filesphp). Не забудьте, що тут ми використовуємо просту косу рису («/») замість зворотної косої межі Windows («»).

ScriptAlias ​​/php/ "c:/php/"

Apache потрібно налаштувати MIME тип PHP. Знайдіть блок коментарів AddType , який пояснює його використання, і додайте наступний рядок нижче за нього. Для Apache 2.2.x знайдіть рядки AddType у розділі . Додайте наведений нижче рядок безпосередньо перед закриттямдля цього розділу.

AddType application/x-httpd-php .php

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

AddType application/x-httpd-php .phtml

Потім вам потрібно вказати серверу виконувати файл PHP щоразу, коли він зустрічає скрипт PHP . Додайте до файлу наступний код, наприклад, після блоку коментарів, які пояснюють « Action«.

Якщо ви використовуєте Apache 2.2.x, додайте код відразу після інструкції AddType, описаної вище; в Apache 2.2.x немає блоку коментарів « Action«.

Action application/x-httpd-php "/php/php-cgi.exe"

Примітка: частина «/php/» буде розпізнана як ScriptAlias, свого роду макрос, який буде розширений Apache до «c:/php/» ( або "c:/Program Files/php/" , якщо ви встановили PHP там). Іншими словами, не поміщайте в цю директиву шлях "c:/php/php.exe" або "c:/Program Files/php/php.exe", а використовуйте "/php/php-cgi.exe" .

Якщо ви використовуєте Apache 2.2.x, знайдіть наступний розділ у файлі httpd.conf:

Додайте наведені нижче рядки відразу після розділу, який щойно знайшли.

AllowOverride None Опції None Order allow,deny Allow from all

c) Налаштування індексної сторінки за промовчанням

Цей розділ відноситься до варіанта встановлення PHP на Windows як модуля Apache, так і двійкового CGI.

Якщо ви створюєте файл index.php і хочете, щоб Apache завантажував його як головну сторінку сайту, доведеться додати ще один рядок у файл httpd.conf. Знайдіть рядок, який починається з « DirectoryIndex», та додайте « index.php» у списку файлів. Наприклад, якщо у вас був такий код:

DirectoryIndex index.html

змініть його на:

DirectoryIndex index.php index.html

При наступному вході на веб-сервер через ім'я каталогу, наприклад « localhost» або « localhost/directory/», Apache відправить усі скрипти з index.php або вміст файлу index.html, якщо index.php недоступний.

Перезапустіть веб-сервер Apache

Перезавантажте сервер Apache. Це необхідно, щоб Apache вважав нові директиви конфігурації PHP, які ви помістили у файл httpd.conf. Сервер Apache 2.2 можна перезапустити, двічі клікнувши по іконці Apache Service Monitor в панелі завдань і натиснувши у вікні кнопку "Перезапустити".

Тестування установки PHP

Після встановлення PHP 5 5 або іншої версії мови створіть php-файл з наступним рядком:

Збережіть у каталог Apache htdocs файл з ім'ям test.php. Якщо використовуєте Блокнот, не забудьте зберегти ім'я. test.php» з лапками. Інакше програма самостійно додасть розширення .txt.

Відкрийте цей файл у браузері, ввівши в адресний рядок "localhost/test.php" (без лапок). Не відкривайте файл безпосередньо через провідник – ви побачите лише код, введений раніше. Вам потрібно використовувати вказану URL-адресу , щоб браузер спробував отримати доступ до веб-сервера Apache , який запускає PHP для інтерпретації скрипта.

Якщо все буде успішно, ви побачите сторінку з інформацією про налаштування PHP . Вітаю, ви успішно встановили PHP і налаштували Apache для роботи з ним. Ви можете завантажити цей файл test.php на свій хостинг і запустити його там, щоб дізнатися, як хостинг налаштував PHP у себе, і спробувати відтворити ці налаштування на своїй машині.

Якщо це не спрацює, перевірте, чи не видає інсталяція PHP або інсталяція Apache помилок. Для цього відкрийте вікно командного рядка та запустіть php-cgi.exe для файлу test.php, наприклад, c:phpphp-cgi test.php.

Якщо ви викликали PHP з командного рядка і побачили великий HTML-файл з усією інформацією про конфігурацію PHP, значить PHP налаштований правильно. Ймовірно, проблема пов'язана з конфігурацією Apache. Переконайтеся, що ви перезапустили Apache після внесення змін до конфігурації та що ви правильно налаштували веб-сервер.

Вивчення PHP

Повний довідковий посібник із встановлення PHP можна знайти на офіційному сайті технології. Його можна переглянути онлайн або завантажити для вивчення в автономному режимі.

Доброго всім дня!

Дана публікація є перекладом статті « How to Install and Configure PHP 5 to Run with Apache on Windows» , підготовленою дружньою командою проекту

© 2022 androidas.ru - Все про Android