Інтернет Windows Android

Php установка на windows 7. Як встановити локальний сервер Apache з Php, MySQL, phpMyAdmin на комп'ютері з Windows

Даний розділ керівництва застосуємо до Windows 98 / Me і Windows NT / 2000 / XP / 2003. PHP не буде працювати на 16 бітних платформах, таких як Windows 3.1 і іноді ми посилаємося на підтримувані Windows платформи як Win32.

зауваження:

Windows XP / 2003 більше не підтримуються для PHP 5.5.0.

зауваження:

Windows 98 / Me / NT4 / 2000 більше не підтримуються для PHP 5.3.0.

зауваження:

Windows 95 більше не підтримується для PHP 4.3.0.

Якщо у вас є оточення для розробки, таке як Microsoft Visual Studio, ви також можете зібрати PHP з початкових кодів.

Встановивши PHP в ОС Windows, ви також можете захотіти завантажити різні розширення для забезпечення додаткової функціональності.

Керівництво по ручній установці

Цей розділ містить інструкції для ручної установки і настройки PHP на Microsoft Windows.

Вибір і завантаження пакета дистрибутивів PHP

Завантажте дистрибутив PHP у вигляді zip-архіву с. Існує кілька різних версій zip-пакетів - виберіть версію, яка підходить для використовуваного веб сервера:

Структура і зміст пакета PHP

Розпакуйте вміст zip архіву в директорію на ваш вибір, наприклад C: \\ PHP \\. Структура папок і файлів, витягнутих з архіву, буде виглядати наступним чином:

Приклад # 1 Структура пакета PHP 5

c: \\ php | + - dev | | | | -Php5ts.lib - версія php5.lib без підтримки багатопоточності | + - ext - DLL розширення для PHP | | | | -Php_bz2.dll | | | | -Php_cpdf.dll | | | | -... | + - extras - порожній | + - pear - початкова копія PEAR | | | -Go-pear.bat - скрипт установки PEAR | | -... | | -Php-cgi.exe - виконуваний файл CGI | | -Php-win.exe - виконує скрипти без відкритої консолі | | -Php.exe - Виконавчий файл PHP для командного рядка (CLI) | | -... | | -Php.ini-development - налаштування php.ini за замовчуванням | | -Php.ini-production - рекомендовані настройки php.ini | | -Php5apache2_2.dll - є тільки в багатопотокової версії | | -Php5apache2_2_filter.dll - є тільки в багатопотокової версії | | -... | | -Php5ts.dll - ядро \u200b\u200bPHP DLL (php5.dll в версії без підтримки багатопоточності) | | -...

Нижче представлений список модулів і виконуваних файлів, включених в PHP zip дистрибутив:

    php-cgi.exe - виконуваний файл CGI, який може бути використаний під час запуску PHP на IIS через CGI або FastCGI.

    php-win.exe - виконуваний файл PHP для виконання PHP скриптів без використання консолі (наприклад, додатки PHP, які використовують Windows GUI).

    php.exe - виконуваний файл PHP для виконання PHP скриптів в консолі (CLI).

    php5apache2_2.dll - модуль Apache 2.2.X.

    php5apache2_2_filter.dll - фільтр Apache 2.2.X.

Зміна файлу php.ini

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

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

Обов'язкові директиви:

    extension_dir \u003d <путь к директории расширений> - extension_dir вказує директорію, де розташовані розширення PHP. Шлях може бути абсолютним (наприклад "C: \\ PHP \\ ext") або відносним (наприклад ". \\ Ext"). Використовувані в php.ini розширення повинні бути розташовані в extension_dir.

    extension \u003d xxxxx.dll - Для кожного підключається розширення необхідно вказати директиву "extension \u003d". Розширення з extension_dir, відмічені такої директиви, завантажуються при старті PHP.

    log_errors \u003d On - в PHP є механізм ведення логу помилок, які можуть бути використані для збереження помилок у файлі або для відправки в сервіс (наприклад syslog). Механізм також використовує значення директиви error_log. Коли PHP виповнюється службою IIS, log_errors потрібно включити з коректним error_log.

    error_log \u003d <пусть к файлу лога ошибок> - error_log потрібен для позначення абсолютного або відносного шляху до файлу, в який записуються помилки PHP. Цей файл повинен доступним для запису веб-сервером. Найпоширеніші місця розміщення цього файлу - різні часові TEMP директорії, наприклад "C: \\ inetpub \\ temp \\ php-errors.log".

    cgi.force_redirect \u003d 0 - Ця директива необхідна для виконання під IIS. Це механізм захисту директорії, необхідний багатьма іншими веб серверами. Однак, включення його під IIS викличе помилки ядра PHP в Windows.

    cgi.fix_pathinfo \u003d 1 - Забезпечує підтримку PATH_INFO згідно специфікації CGI. IIS FastCGI використовує цю настройку.

    fastcgi.impersonate \u003d 1 - FastCGI під IIS підтримує здатність ідентифікувати маркери безпеки викликає клієнта. Це дозволяє IIS визначати контекст безпеки, під які виконується запит.

    fastcgi.logging \u003d 0 - Запис логів FastCGI повинна бути виключена в IIS. Якщо запис включена, тоді всі повідомлення будь-яких класів розпізнаються FastCGI як помилки, що призведе IIS до генерації виключення HTTP 500.

опціональні директиви

    max_execution_time \u003d ## - Ця директива вказує максимальний час виконання будь-якого скрипта PHP. За замовчуванням дорівнює 30 секундам. Слід збільшити це значення, якщо додаток PHP має виконуватися довше.

    memory_limit \u003d ### M - Кількість пам'яті, доступне процесу PHP, в Мб. За замовчуванням 128, що досить для більшості PHP додатків. Деяким складним додатків може знадобитися більше пам'яті.

    display_errors \u003d Off - Директива визначає, які помилки слід повертати веб-сервера для подальшого протоколювання. При значенні "On" PHP повідомляє про всі види помилок, які наводяться в директиві error_reporting. З міркувань безпеки рекомендується встановити в "Off" на робочих серверах, щоб виключити передачу виведення помилок кінцевому користувачеві, так як вони можуть містять інформацію, яка загрожує безпеці додатки.

    open_basedir \u003d <пути к директориям, разделенные точкой с запятой> , Наприклад openbasedir \u003d "C: \\ inetpub \\ wwwroot; C: \\ inetpub \\ temp". Ця директива вказує шляхи до тек, в яких PHP дозволені операції з файлової системою. Будь-яка операція з файлами і директоріями поза вказаними шляхів буде приводити до помилки. Ця директива особливо корисна для запобігання доступу до встановленого PHP в середовищах поділюваних хостингів для запобігання доступу PHP скриптів до будь-яких файлів поза кореневої директорії веб сайту.

    upload_max_filesize \u003d ### M і post_max_size \u003d ### M - Максимальний дозволений розмір завантаженого файлу та надісланих даних відповідно. Значення цих директив повинні бути збільшені, якщо додатки PHP повинні обробляти великі завантаження, наприклад зображення або відеофайли.

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

Microsoft IIS 5.1 and IIS 6.0

This section contains instructions for manually setting up Internet Information Services (IIS) 5.1 and IIS 6.0 to work with PHP on Microsoft Windows XP and Windows Server 2003. For instructions on setting up IIS 7.0 and later versions on Windows Vista, Windows Server 2008, Windows 7 and Windows Server 2008 R2 refer to Microsoft IIS 7.0 and later.

Configuring IIS to process PHP requests

Download and install PHP in accordance to the instructions described in manual installation steps

зауваження:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at

Configure the CGI- and FastCGI-specific settings in php.ini file as shown below:

Приклад # 2 CGI and FastCGI settings in php.ini

Включення підтримки FastCGI в IIS

Модуль FastCGI при установці IIS за замовчуванням відключений. Способи включення його розрізняються залежно від версії використовуваної Windows.

Для включення підтримки FastCGI на Windows Vista SP1 і Windows 7:

    У меню "Пуск" виберіть пункт "Виконати", у вікні введіть з клавіатури "optionalfeatures.exe" і натисніть "Ok";

    У вікні "Компоненти Windows" розкрийте папку "Служби IIS", "Служби інтернету", "Компоненти розробки додатків" і встановіть галочку навпроти "CGI";

    Натисніть OK і чекайте закінчення процесу установки.


Щоб включити підтримку FastCGI на Windows Server 2008 і Windows Server 2008 R2:

    У Windows відкрийте меню Пуск виберіть пункт "Виконати:", наберіть з клавіатури "CompMgmtLauncher" і натисніть "Ok";

    Якщо роль "Веб-сервер (IIS)" не представлена \u200b\u200bу вкладці "Ролі", додайте її, вибравши "Додати ролі";

    Якщо роль "Веб-сервер (IIS)" присутній, виберіть "Вибір служби ролей" і встановіть галочку навпроти "CGI" в групі "Компоненти розробки додатків";


Налаштування IIS для обробки PHP запитів

Скачайте і встановіть PHP відповідно до інструкцій, наведеними в описі установки

зауваження:

Змініть CGI і FastCGI настройки в файлі php.ini як показано нижче:

Приклад # 8 CGI і FastCGI настройки в php.ini

fastcgi.impersonate \u003d 1 fastcgi.logging \u003d 0 cgi.fix_pathinfo \u003d 1 cgi.force_redirect \u003d 0

Налаштуйте IIS обробник для PHP, використовуючи Інтерфейс управління IIS або через командний рядок.

Використання інтерфейсу управління IIS для створення обробника PHP

Наступні кроки дозволять вам створити IIS обробник для PHP в інтерфейсі управління IIS:



Використання командного рядка для створення зіставлення обробника PHP

Використовуйте команди наведені нижче для створення пулу процесів IIS FastCGI який буде використовувати php-cgi.exe виконується для PHP запитів. Замініть значення параметра fullPath на абсолютний шлях до файлу php-cgi.exe.

Приклад # 9 Створення IIS FastCGI пулу процесів

% Windir% \\ system32 \\ inetsrv \\ appcmd set config /section:system.webServer/fastCGI ^ / +

Налаштування IIS для обробки специфічних запитів PHP з командного рядка показана нижче. Замініть значення параметра scriptProcessor на абсолютний шлях до файлу php-cgi.exe.

Приклад # 10 Створення зіставлення обробника запитів PHP

% Windir% \\ system32 \\ inetsrv \\ appcmd set config /section:system.webServer/handlers ^ / +

Ця команда створює для IIS зіставлення обробника для файлів з розширенням * .php, який виходить в результаті і обробляється модулем FastCGI.

зауваження:

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

Подання та доступ до файлової системи

При використанні IIS рекомендується включити уявлення FastCGI в PHP. Це контролюється директивою fastcgi.impersonate в php.ini файлі. Коли імперсонації включена, PHP буде виконувати всі операції з файлової системою під аккаунтом, який був визначений при аутентифікації IIS. Це гарантує, що при загальному PHP процесі для всіх сайтів IIS, PHP скрипти цих сайтів не матимуть доступ до файлів один одного до тих пір, поки IIS використовує різні облікові записи для кожного з сайтів.

Для прикладу, в настройках за умовчанням IIS 7, включена анонімна аутентифікація під стандартним користувачем IUSR. Це означає, що при наданні дозволу IIS виконати PHP скрипт, так само необхідно дати права на читання цього скрипта аккаунту IUSR. Якщо PHP додатку необхідно виконати запис в деякі файли або папки, тоді аккаунту IUSR слід дати права на запис в них.

Щоб вирішити який користувач використовується для ідентифікації в IIS 7, можна використовувати наступні команди. Замініть "Default Web Site" на ім'я IIS сайту, з яким ви працюєте. На виході, в XML конфігурації дивіться атрибут userName.

Приклад # 11 Визначення аккаунта, використовуваного IIS при анонімної ідентифікації

% Windir% \\ system32 \\ inetsrv \\ appcmd.exe list config "Default Web Site" ^ / section: anonymousAuthentication

зауваження:

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

Для зміни налаштувань доступу для файлів або папок, використовуйте інтерфейс користувача в провіднику Windows або команду icacls.

Приклад # 12 Налаштування дозволу доступу до файлів

icacls C: \\ inetpub \\ wwwroot \\ upload / grant IUSR: (OI) (CI) (M)

Установка index.php як документ за замовчуванням в IIS

За замовчуванням в IIS не встановлено ім'я документа для обробки HTTP запитів за замовчуванням. У PHP додатках, зазвичай використовується за замовчуванням документ index.php. Щоб додати index.php в лист документів за замовчуванням IIS, використовуйте таку команду:

Приклад # 13 Установка index.php як документ за замовчуванням в IIS

% Windir% \\ system32 \\ inetsrv \\ appcmd.exe set config ^ -section: system.webServer / defaultDocument / + "files." ^ / Commit: apphost

FastCGI і PHP конфігурація з перетворенням процесів

Налаштування IIS FastCGI установок для утилізації PHP процесів за допомогою команд наведена нижче. Опція FastCGI instanceMaxRequests встановлює максимальну кількість запитів, яке може оброблятися одним php-cgi.exe процесом поки IIS не почне їх відключати. PHP змінна оточення PHP_FCGI_MAX_REQUESTS встановлює як багато запитів буде обробляти один php-cgi.exe процес поки сам не почне видаляти їх. Звичайно, значення встановлене для FastCGI InstanceMaxRequests менше або дорівнює PHP_FCGI_MAX_REQUESTS.

Приклад # 14 Налаштування FastCGI і PHP пересоздаіне

% Windir% \\ system32 \\ inetsrv \\ appcmd.exe set config -section: system.webServer / fastCgi ^ /.instanceMaxRequests:10000% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config -section: system.webServer / fastCgi ^ / + ". environmentVariables. ^"

Установка таймаута FastCGI

Збільшення параметра таймаута для FastCGI робиться, якщо є довго виконується PHP скрипт. Два параметра контролюють таймаут, це: activityTimeout і requestTimeout. Використовуйте команди наведені нижче для зміни налаштувань таймаута. Звичайно, треба замінити значення параметра fullPath на повний шлях до файлу php-cgi.exe.

Приклад # 15 Конфігурація установок таймаута FastCGI

% Windir% \\ system32 \\ inetsrv \\ appcmd.exe set config -section: system.webServer / fastCgi ^ /.activityTimeout:"90 "/ commit: apphost% windir% \\ system32 \\ inetsrv \\ appcmd.exe set config -section: system .webServer / fastCgi ^ /.requestTimeout:"90 "/ commit: apphost

Зміна положення файлу php.ini

Існує два способи налаштування PHP для роботи з Apache 1.3.x в Windows. Перший - використовувати двійковий файл CGI (php.exe для PHP 4 і php-cgi.exe для PHP 5), другий - використовувати Apache Module DLL. В обох випадках необхідно отредакттіровать httpd.conf для настройки Apache для роботи з PHP і перезапустити сервер.

В даний час SAPI модуль стабільніший під Windows, тому ми рекомендуємо використовувати його замість CGI так як він більш прозорий і безпечний.

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

Не забудьте перезавантажити сервер після зміни конфігураційного файлу. Наприклад, командами NET STOP APACHE і NET START APACHE, Якщо Apache запущений як служба Windows, або за допомогою звичайних ярликів.

зауваження:

Установка PHP як модуля Apache

Необхідно додати наступні рядки в файл Apache httpd.conf:

Приклад # 17 PHP як модуль Apache 1.3.x

Це передбачає, що PHP встановлений в c: \\ php. Змініть шлях, якщо це не так.

# Add to the end of the LoadModule section # Don "t forget to copy this file from the sapi directory! LoadModule php4_module" C: /php/php4apache.dll "# Add to the end of the AddModule section AddModule mod_php4.c

# Add to the end of the LoadModule section LoadModule php5_module "C: /php/php5apache.dll" # Add to the end of the AddModule section AddModule mod_php5.c

Для обох версій:

# Add this line inside the conditional brace AddType application / x-httpd-php .php # For syntax highlighted .phps files, also add AddType application / x-httpd-php-source .phps

Установка як бінарного CGI файлу

Якщо PHP розпакований в C: \\ php \\ як описано в розділі Manual Installation Steps, необхідно додати наступні рядки в конфігураційний файл Apache:

Приклад # 18 PHP і Apache 1.3.x як CGI

Зауважте, що другий рядок в списку вище вже знаходиться в httpd.conf, але вона закоментований. Крім того, не забудьте замінити c: / php / на ваш справжній шлях до PHP.

Увага

"Безпека CGI"

У разі установки PHP як CGI немає такої зручної опції для підсвічування синтаксису початкових кодів PHP як при установці у вигляді модуля. Якщо ви хочете використовувати її, необхідно використовувати функцію highlight_file (). Для цього просто створіть PHP скрипт з наступним кодом: .

Apache 2.x on Microsoft Windows

Цей розділ містить вказівки щодо встановлення PHP для Apache 2.x на системи Microsoft Windows.

зауваження: Підтримка Apache 2.2

Користувачам Apache 2.2 слід звернути увагу на те, що DLL файл для Apache 2.2 називається php5apache2_2.dll, а не php5apache2.dll і він доступний тільки для PHP 5.2.0 і пізніших версій.

Вам настійно рекомендується ознайомитися з »Документації по Apache, щоб отримати базові знання про Apache 2.x Server. Також перед читанням цієї довідки зверніть увагу на "Рекомендації для Windows по Apache 2.x.

Apache 2.x призначений для роботи в серверних версіях Windows, таких як Windows NT 4.0, Windows 2000, Windows XP або Windows 7. Хоча Apache 2.x може використовуватися на Windows 9x, ці платформи не підтримуються повністю, і деякі функції не будуть працювати правильно. Виправлення цієї ситуації не планується.

Скачайте найбільш актуальну версію »Apache 2.x і відповідну версію PHP. Дотримуйтесь крок за кроком керівництво по установці і поверніться для продовження інтеграції PHP і Apache.

Існує три шляхи установки PHP для Apache на Windows. Ви можете запустити PHP як обробник, як CGI, або під FastCGI.

зауваження: Пам'ятайте, що при вказівці шляхів в конфігураційних файлах Apache під Windows, всі зворотні слеші, наприклад, c: \\ directory \\ file.ext повинні бути змінені на прямі: c: /directory/file.ext. Для шляхів з директоріями також може знадобитися слеш в кінці.

Установка PHP як обробника під Apache

Вам необхідно додати наступні рядки в ваш конфігураційний файл Apache httpd.conf для завантаження PHP-модуля для Apache 2.x:

Приклад # 19 PHP як обробник Apache 2.x

# LoadModule php5_module "c: /php/php5apache2.dll" AddHandler application / x-httpd-php .php # конфігурація шляху до php.ini PHPIniDir "C: / php"

зауваження: Не забудьте вказати життєвий шлях до директорії PHP замість C: / php / в наведеному прикладі. Подбайте, щоб у директиві LoadModule використовувалися або php5apache2.dll або php5apache2_2.dll і упевніться, що вказаний файл фактично знаходиться по шляху, який ви вказали в директиві.

Наведена вище конфігурація дозволить PHP обробити будь-який файл, який має расшіреніе.php, навіть якщо є інші розширення. Наприклад, файл з ім'ям example.php.txt буде запущений оброблювачем PHP. Щоб гарантувати, що тільки файли, які мають розширення .php будуть запущені, використовуйте наступну конфігурацію:

SetHandler application / x-httpd-php

Запуск PHP як CGI

Ви повинні звернутися до документації »Apache CGI для більш повного розуміння про запуск CGI під Apache.

Для запуску PHP як CGI, вам необхідно помістити ваші php-cgi файли в директорію, позначену як директорія CGI, використовуючи директиву ScriptAlilas.

Після цього вам необхідно додати рядок #! в PHP файли, що вказує на місце розташування виконуваного файлу PHP.

Приклад # 20 PHP як CGI під Apache 2.x

#! C: /php/php.exe

Увага

Використовуючи установку CGI, ваш сервер відкритий перед кількома можливими уразливими. Будь ласка, ознайомтеся з розділом "Безпека CGI" щоб дізнатися, як можна захистити себе від таких атак.

Запуск PHP під FastCGI

Запуск PHP під FastCGI має ряд переваг в порівнянні з запуском як CGI. Установка ж досить проста:

NSAPI setup on Sun, iPlanet and Netscape servers

To install PHP with NSAPI, do the following:

  • Copy php4ts.dll to your systemroot (the directory where you installed Windows)
  • Make a file association from the command line. Type the following two lines:

    assoc .php \u003d PHPScript ftype PHPScript \u003d c: \\ php \\ php.exe% 1% *

  • In the Netscape Enterprise Administration Server create a new mime type (Category: type, Content-Type: magnus-internal / x-httpd-php, File Suffix: php).
  • Edit magnus.conf (for servers\u003e \u003d 6) or obj.conf (for servers< 6) and add the following: You should place the lines after mime types init.

    Init fn \u003d "load-modules" funcs \u003d "php4_init, php4_execute, php4_auth_trans" shlib \u003d "c: /php/sapi/php4nsapi.dll" Init fn \u003d "php4_init" LateInit \u003d "yes" errorString \u003d "Failed to initialise PHP! "

    (PHP\u003e \u003d 4.3.3) The php_ini parameter is optional but with it you can place your php.ini in your web server configuration directory.

    Configure the default object in obj.conf (for virtual server classes in their vserver.obj.conf): In the section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php"

    (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

    This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

    After that you can configure a directory in the Administration server and assign it the style x-httpd-php. All files in it will get executed as PHP. This is nice to hide PHP usage by renaming files to .html.

  • Restart your web service and apply changes
  • Do it for each web server instance you want PHP to run
  • зауваження:

    The stacksize that PHP uses depends on the configuration of the web server. If you get crashes with very large PHP scripts, it is recommended to raise it with the Admin Server (in the section "MAGNUS EDITOR").

    CGI environment and recommended modifications in php.ini

    Important when writing PHP scripts is the fact that Sun JSWS / Sun ONE WS / iPlanet / Netscape is a multithreaded web server. Because of that all requests are running in the same process space (the space of the web server itself) and this space has only one environment. If you want to get CGI variables like PATH_INFO, HTTP_HOST etc. it is not the correct way to try this in the old PHP way with getenv () or a similar way (register globals to environment, $ _ENV). You would only get the environment of the running web server without any valid CGI variables!

    зауваження:

    Why are there (invalid) CGI variables in the environment?

    Answer: This is because you started the web server process from the admin server which runs the startup script of the web server, you wanted to start, as a CGI script (a CGI script inside of the admin server!). This is why the environment of the started web server has some CGI environment variables in it. You can test this by starting the web server not from the administration server. Use the command line as root user and start it manually - you will see there are no CGI-like environment variables.

    Simply change your scripts to get CGI variables in the correct way for PHP 4.x by using the superglobal $ _SERVER. If you have older scripts which use $ HTTP_HOST, etc., you should turn on register_globals in php.ini and change the variable order too (important: remove "E" from it, because you do not need the environment here):

    variables_order \u003d "GPCS" register_globals \u003d On

    Special use for error pages or self-made directory listings (PHP\u003e \u003d 4.3.3)

    You can use PHP to generate the error pages for "404 Not Found" or similar. Add the following line to the object in obj.conf for every error page you want to overwrite:

    Error fn \u003d "php4_execute" code \u003d XXX script \u003d "/ path / to / script.php"

    Where XXX is the HTTP error code. Please delete any other Error directives which could interfere with yours. If you want to place a page for all errors that could exist, leave the code parameter out. Your script can get the HTTP status code with $ _SERVER [ "ERROR_TYPE"].

    Another possibility is to generate self-made directory listings. Just create a PHP script which displays a directory listing and replace the corresponding default Service line for type \u003d "magnus-internal / directory" in obj.conf with the following:

    Service fn \u003d "php4_execute" type \u003d "magnus-internal / directory" script \u003d "/ path / to / script.php"

    For both error and directory listing pages the original URI and translated URI are in the variables $ _SERVER [ "PATH_INFO"] and $ _SERVER [ "PATH_TRANSLATED"].

    Цей список описує установку ISAPI модуля для роботи з сервером Sambar під Windows.

      Знайдіть файл, який називається mappings.ini (в папці config) в настановної директорії Sambar.

      Відкрийте mappings.ini і додайте наступний рядок під :

      Приклад # 22 Конфігурація ISAPI для Sambar

      #for PHP 4 * .php \u003d c: \\ php \\ php4isapi.dll #for PHP 5 * .php \u003d c: \\ php \\ php5isapi.dll

      (Якщо PHP встановлений в c: \\ php.)

      Перезапустіть Sambar, щоб зміни вступили в силу.

    зауваження:

    Якщо ви хочете використовувати PHP для зв'язку з ресурсами на інших комп'ютерах вашої мережі, вам необхідно змінити обліковий запис, який використовується службою сервера Sambar. За замовчуванням це LocalSystem і віддалені ресурси будуть недоступні. Обліковий запис може бути відредаговано за допомогою опції "Служби" утиліти адміністрування з панелі управління Windows.

    Xitami на Microsoft Windows

    Цей розділ містить замітки і трюки, специфічні для "Xitami на платформі Windows.

    Цей перелік дій описує як встановити PHP CGI бібліотеку так, щоб вона працювала з Xitami під Windows.

    зауваження: Важливо для користувачів CGI

    Установка розширень PHP в ОС Windows

    Після установки PHP та веб-сервера на ОС Windows може знадобитися встановити деякі розширення для додавання функціоналу. Ви можете вибрати, які розширення будуть завантажуватися при старті PHP, модифікацією вашого файлу php.ini. Також ви можете завантажувати розширення динамічно в ваших скриптах, використовуючи функцію

    Вказуємо версію своєї операційної системи (я вказав 64-розрядну Windows), і переходимо на сторінку завантаження (Go to Download Page https://dev.mysql.com/downloads/windows/installer/5.7.html).

    Я вибрав завантаження повного установника msi. На момент написання цієї замітки була актуальною версія MySQL 5.7.21, і скачати дистрибутив на ім'я mysql-installer-community-5.7.21.0.msi.

    Apache 2.4

    На момент підготовки статті була доступна x64 версія 2.4.33, зібрана на базі vc14:
    httpd-2.4.29-o110g-x64-vc14.zip.
    Розмір архіву - близько 10 Мб.

    PHP 7.2

    На момент підготовки цієї статті була доступна x64 версія PHP 7.2 (7.2.2), Thread Safe, зібрана на VC15: php-7.2.2-Win32-VC15-x64.zip.
    Розмір архіву Zip: 24 Мб.
    Зараз є і новіші.

    phpMyAdmin (PMA)

    Для управління базами даних MySQL на локальному комп'ютері, встановимо безкоштовний пакет phpMyAdmin.

    Його дистрибутив скачати з сайту http://www.phpmyadmin.net/
    На момент підготовки статті доступна була версія 4.7.7:
    phpMyAdmin-4.7.7-all-languages.zip
    Розмір - близько 11 Мб.

    Вміст архіву викладаємо в заздалегідь заготовлену папку, наприклад:
    D: \\ sites \\ localhost \\ www

    Список для установки

    Дистрибутиви завантажені. Встановлюємо в такому порядку:

    • MySQL
    • Apache - налаштовуємо віртуальні сервера, перевіряємо на html
    • PHP - з доп налаштуванням Apache перевіряємо на php_test.php
    • phpMyAdmin (з доп налаштуванням php)

    установка MySQL

    Запускаємо раніше завантажений установник MySQL (mysql-installer -.... msi).

    У вікні License Agreement встановлюємо галочку в пункті:
    I accept the license terms
    - і тиснемо кнопку Next.

    У вікні Choosing a Setup Type вибираємо пункт Custom (щоб самим вибирати параметри для установки MySQL сервера). Тиснемо кнопку Next.

    У вікні вибору компонентів (Select Products and Features) обов'язково вибираємо компонент MySQL Server - X64. Інші компоненти - за бажанням. Вибравши компонент в лівій частині вікна, натискаємо стрілку вправо, щоб цей компонент з доступних для установки перейшов в праву частину вікна - список того, що будемо встановлювати.

    Натиснути Next після вибору компонентів.

    У вікні Installation тиснемо кнопку Execute, щоб запустити установку на виконання.

    Спостерігати за ходом установки можна, натиснувши кнопку Show Details.

    Коли установка закінчиться (Status стане complete), натискаємо кнопку Next, щоб перейти до конфігурації сервера MySQL.

    У вікні Product Configuration натискаємо кнопку Next.

    У вікні Type and Networking

    залишаємо включеним пункт Standalone MySQL Server, тиснемо Next.

    У наступному вікні Type and Networking
    встановлюємо пункт Config Type \u003d Development Machine

    Галки у пунктів TCP / IP і Open Firewall port for network access - залишаємо.
    Порт зв'язку з MySQL теж залишаємо зі значенням за замовчуванням (Port Number \u003d 3306).

    Встановимо галку біля пункту Show Advanced Options.

    У вікні Accounts and Roles задаємо пароль для головного користувача (з логіном root - адміністратора).

    В поле MySQL User Accounts можна додати інших користувачів, які матимуть доступ до баз даних MySQL. Ми поки інших створювати не будемо: підключатися будемо, як root.

    У вікні Windows Service залишаємо галку біля пункту Configure MySQL Server as a Windows Service (щоб сервер MySQL запускався у вигляді системної служби).

    Ім'я системної служби (MySQL57) залишимо за замовчуванням.

    Запускати службу сервера MySQL будемо вручну (він потрібен нам тільки на час розробки та тестування локальних сайтів), тому знімаємо галочку у пункту Start the MySQL Server at System Startup (щоб сервер не запускався кожен раз при запуску OC Windows).

    Запускати службу будемо від імені Standard System Account (цю опцію не змінюємо).

    У вікні Plugins and Extensions залишаємо все, як є. Тиснемо Next.

    У вікні Advanced Options можна змінити параметри журналів (логів), куди сервер записує повідомлення в ході своєї роботи. Тут можна залишити все, як є.

    У вікні Apply Configuration тиснемо кнопку Execute для застосування конфігурації сервера.

    Після закінчення тиснемо кнопку Finish.

    У вікні Product Configuration тиснемо Next.

    В останньому вікні Installation Complete галки у пунктів можна не встановлювати. Тиснемо Finish.

    Встановлювати чи налаштовувати MySQL-сервера закінчені.

    Запустити / зупинити вручну сервер MySQL можна, перейшовши в список служб Windows.
    Знайти в списку MySQL57, клацнути по ньому правою кнопкою миші і вибрати "Запустити / Зупинити".

    Установка Apache 2.4 для Windows

    Є багато статей в інтернеті, де описано, як виконується установка Apache 2.4 для Windows. Я, може бути, і повторю щось, але викладу покроково свою версію.

    В архіві, викачаному з сайту розробника (використаний варіант httpd-2.4.29-o110g-x64-vc14.zip), є папка Apache24. Її, разом з її вмістом, поміщаємо на диск С:

    Крім самого пакета (папки Apache24) в архіві лежить файл readme_first.html, який корисно прочитати.

    Особливу увагу слід звернути на наявність пакета Visual C ++ 2015 x64 Redistributable Package у встановленій ОС Windows.
    Цей пакет містить набір бібліотек, без яких дана збірка Apache працювати не буде.
    Завантажити безкоштовно цей пакет можна з сайту Microsoft, за посиланням (https://www.microsoft.com/en-us/download/details.aspx?id\u003d49984), даної в файлі readme_first.html. Обов'язково його встановіть, якщо його ще немає у вашій ОС.

    Якщо на вашому комп'ютері встановлено програми, слухати 80 порт, то краще їх відвадити від використання цього порту, або призначити їм іншого. Сервер Apache за замовчуванням налаштований саме на цей порт, див параметр Listen в файлі C: \\ Apache24 \\ conf \\ httpd.conf

    Пробуємо запустити сервер (пізніше розглянемо варіант запуску сервера у вигляді системної служби (сервісу)).
    Для цього запускаємо командний рядок в режимі (від імені) адміністратора.
    Переходимо в папку C: \\ Apache24 \\ bin і запускаємо програму httpd.exe

    При першому запуску може з'явитися Попередження системи безпеки Windows про те, що брандмауер Windows заблокував деякі функції цього додатка (див. Малюнок)

    Ставимо галочку, що дозволяє Apache HTTP Server зв'язок для Приватних мереж.
    Роботу в соціальних мережах можна заборонити.

    Відкривши будь-який браузер, введемо в адресному рядку адресу http: // localhost /
    - повинна з'явитися сторінка збирача даного пакета Apache-сервера.

    (Вона з пакетом інстальована в папку C: \\ Apache24 \\ htdocs - це значення має змінна DocumentRoot в файлі httpd.conf,
    але ми його пізніше змінимо).

    Значить, сервер Apache стартує і працює нормально.

    Якщо сервер не запускається, то треба подивитися, які помилки він видає. Помилки можна побачити при запуску: в командному рядку і в файлі C: \\ Apache24 \\ logs \\ error.log

    Зробимо тепер так, щоб сервер Apache запускався сервісом (описано в readme_first.html, що додається до дистрибутива).
    У командному рядку, запущеної від імені адміністратора, перейшовши в папку C: \\ Apache24 \\ bin, запустимо команду
    httpd -k install

    Відстежувати стан служби сервера Apache і виконувати його перезапуск (будемо робити часто по ходу настройки) зручно через програму C: \\ Apache24 \\ bin \\ ApacheMonitor.exe. Зробіть для неї ярлик і помістіть його в зручне для запуску місце (в панель завдань або на робочий стіл).

    Залишилося налаштувати сервер Apache під наші потреби:
    орієнтувати на папки, в яких будуть лежати наші сайти;
    підготувати до роботи з MySQL і PHP.

    Припустимо, ми хочемо мати на локальному компі поки 2 сайта з іменами localhost і wp-test
    http: // localhost /
    http: // wp-test /

    Для цього в системному файлі C: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts повинні бути такі рядки

    127.0.0.1 localhost
    127.0.0.2 wp-test

    Перший рядок зазвичай вже існує за замовчуванням.
    Другу набиваємо самостійно.

    Ці рядки повідомляють, що хости з іменами localhost і wp-test треба шукати по IP-адресами 127.0.0.1 і 127.0.0.2
    - обидві адреси відповідають локального комп'ютера.

    Перезапуск ОС необов'язковий.

    Створимо на локальному компі папки для зберігання сайтовий файлів, наприклад в папці:
    D: \\ sites \\ localhost
    D: \\ sites \\ wp-test

    У кожній з цих папок створимо 2 файли з іменами
    access.log
    error.log
    і підпапку www
    D: \\ sites \\ localhost \\ www
    D: \\ sites \\ wp-test \\ www
    - в цих папках створимо файли index.html з таким вмістом:
    це localhost
    це wp-test

    Тепер налаштуємо сервер Apache на використання віртуальних хостів, відповідних нашим сайтам.

    Відредагуємо конфігураційний файл сервера (C: \\ Apache24 \\ conf \\ httpd.conf).
    Для цього його треба відкрити в текстовому редакторі.
    Я для цього використовую NotePad ++ (дуже багатофункціональний безкоштовний редактор).

    Віртуальні хости зазвичай прописую в кінець цього файлу.

    Додамо туди такі рядки:

    #localhost ServerName localhost DocumentRoot "D: / sites / localhost / www" ErrorLog "D: /sites/localhost/error.log" CustomLog "D: /sites/localhost/access.log" common # Wp-test ServerName wp-test DocumentRoot "D: / sites / wp-test / www" ErrorLog "D: /sites/wp-test/error.log" CustomLog "D: /sites/wp-test/access.log" common AllowOverride All Options Includes FollowSymLinks Require all granted

    Перевіряємо, чи відкриваються в браузерах сторінки за адресами
    http: // localhost /
    http: // wp-test /

    При нормальному відкритті сторінки повинні відображати такі рядки:
    це localhost
    і
    це wp-test

    Аналогічно можна створювати і інші віртуальні веб-сервера на локальному комп'ютері.

    Додаткові настройки для Apache, які можуть стати в нагоді.

    Установка PHP 7

    Вміст завантаженого архіву php-7.2.2-Win32-VC15-x64 викладаємо в папку C: \\ php \\

    Уважно читаємо файл C: \\ php \\ install.txt з дистрибутива.
    У цьому файлі коротко описано, як встановити PHP в системі і налаштувати його для роботи з Apache.

    Шлях C: \\ php додаємо в системну змінну PATH

    Для тестування PHP на нашому локальному сайті http: // localhost /
    створимо в його папці (D: \\ sites \\ localhost \\ www) файл php_test.php з таким вмістом:

    Тоді при відкритті адреси http: //localhost/php_test.php повинна відкриватися сторінка з даними від команди phpinfo.

    Підготуємо Apache до роботи з PHP

    У файлі httpd.conf

    У тому місці, де вантажаться модулі (шукайте групу команд LoadModule), в кінці групи (якщо ще немає такого рядка) додаємо:

    LoadModule php_module "C: /php/php7apache2_4.dll"

    Зазначимо шлях, де встановлено php, директивою:

    PHPIniDir "C: / php"

    У секції дописуємо index.php:

    DirectoryIndex index.html index.php

    У секції , Де такі команди, як AddType application ...

    додаємо рядок

    AddType application / x-httpd-php .php

    Зберігаємо httpd.conf і перезапускаємо Apache.

    Після цього тестова сторінка http: //localhost/php_test.php буде відкриватися.

    Відредагуємо файл настройок PHP для роботи phpMyAdmin і не тільки.

    Файл php.ini-production перейменовуємо в php.ini (залишаємо в тій же папці C: \\ php \\)

    Редагуємо php.ini так

    Раскомментіруем рядок

    Extension_dir \u003d "ext"

    Включимо параметр (за замовчуванням \u003d Off)

    Enable_dl \u003d On

    Зазначимо папку для завантаження тимчасових файлів

    Upload_tmp_dir \u003d "d: / sites / uploadtemp" upload_max_filesize \u003d 500M

    В розділі; Dynamic Extensions;

    раскомментіруем рядки:

    Extension \u003d gd2 extension \u003d mbstring extension \u003d mysqli

    Включимо ще одне розширення:

    Extension \u003d openssl

    Для того, щоб, наприклад, оновлювати плагіни wordpress на локальному сайті через адмінку. Інакше виходить помилка: No working transports found.

    Для виконання довгих скриптів продовжимо максимальний час їх виконання, наприклад, так:

    Max_execution_time \u003d 300

    установка phpMyAdmin

    Завантаживши дистрибутив і виклавши його вміст в папку D: \\ sites \\ localhost \\ www
    зайдемо в папку з документацією \\ www \\ doc \\ html і відкриємо файл setup.html

    Слідуючи його інструкціям, створимо в кореневому каталозі сайту (www) підпапку config (це потрібно на час конфігурування phpMyAdmin скриптом, який можна запустити, відкривши сторінку настройки за адресою http: // localhost / setup /).
    Перейменуємо лежить в кореневому каталозі файл \\ www \\ config.sample.inc.php
    в робочий файл \\ www \\ config.inc.php
    - цей файл відкриємо для редагування і визначимо в ньому параметр $ cfg [ "blowfish_secret"] - заповнивши будь-якими символами, наприклад, фразою ANY_WHAT_YOU_WANT:

    $ Cfg [ "blowfish_secret"] \u003d "ANY_WHAT_YOU_WANT"; / * YOU MUST FILL IN THIS FOR COOKIE AUTH! * /

    і, зберігши, закриємо цей файл.

    Перевіримо, чи відкриваються сторінки сайту:
    http: // localhost /
    http: //localhost/index.php

    На PHP написано багато хороших додатків. Навіть немає,
    дуже багато і деякі з них дуже хороші, так чому б не використати ці
    додатки на Windows? Особливо, якщо внутрішній портал працює на Windows, а
    на Unix машині крутитися зовнішній сайт компанії - тоді
    можна заощадити на інфраструктурі і розмістити на Windows
    сервері ще і зовнішній сайт. Або, якщо є бажання стандартизувати
    інфраструктуру і розміщувати сайти на Windows
    платформі, оскільки розробники і користувачі працюють на
    Windows платформі.
    На сайті www.iis.net
    можна знайти
    перелік
    популярних PHP додатків
    з інструкціями по установці на IIS. Для їх запуску
    на IIS не потрібно зміни
    PHP коду.

    Установка і настройка PHP для використання з модулем FastCGI.

    Для початку, щоб успішно використовувати PHP на
    Windows, непогано було б PHP
    встановити.
    Крок 1. Завантажити PHP
    На сайті PHP.net потрібно завантажити
    Остання версія PHP для Windows. Для використання з FastCGI рекомендується
    встановлювати версію PHP без контролю безпеки потоків, оскільки сам модуль
    FastCGI гарантує, що виконання відбувається в одному потоці і підтримка
    контролю безпеки потоків в самому PHP привносить зайві перевірки і
    блокування, що призводять до значного падіння продуктивності. Тому
    вибираємо Non-thread-safe Win32 binaries (версія 5.2.6 актуальна на момент написання
    цього повідомлення) .
    Варто відзначити, що вірячи Non-thread-safe була розроблена спеціально для
    роботи з FastCGI на IIS (перший реліз був у версії 5.2.1) і використовувати в
    інших середовищах не рекомендується. До речі, починаючи з версії 5.2.2 Zend серйозно
    працює над оптимізацією продуктивності PHP під Windows, що не може не
    радувати. Якщо порівняти версії 5.2.1 і 5.2.2, то різницю в швидкості обробки
    запитів можна легко побачити за допомогою простого навантажувального тесту.
    Крок 2. Установка PHP
    Установка здійснюється зовсім просто: оскільки ми завантажили архів з
    здійснимими файлами, досить розгорнути цей архів, наприклад, в
    директорію C: \\ Web \\ PHP.
    В якості базової конфігурації скористаємося рекомендованими установками:
    Зробити копію файлу php.ini-recommended в php.ini в цій же директорії і відкриємо
    його для редагування, після чого пройдемо файл зверху расскоментіруя наступні
    рядки, щоб забезпечити безпеку і сумісність з більшістю PHP
    додатків:
    • open_basedir \u003d директорія, де розміщені PHP додатки.
      Вказівка \u200b\u200bдиректорії обмежить права доступу до файлів PHP додатків тільки
      цієї Директорією. Зручно перевизначати цю настройку в файлах конфіграціі
      безпосередньо для кожного додатка, однак не завадить встановити цю
      настройку і вказати кореневу директорію всіх PHP додатків. Наприклад, C: \\ inetpub \\ PhpSites.
    • cgi.force_redirect \u003d 0
      За умовчанням встановлено 1, але необхідно встановити в 0, оскільки IIS
      контролює безпеку виконання PHP і в цьому налаштуванні немає
      необхідності. Більш того, включення може привести до несподіваних
      результатами. При використанні з іншими web-серверами на Windows цю
      настройку необхідно включити.
    • cgi.fix_pathinfo \u003d 1
      PHP буде встановлювати ім'я файлу в змінної SCRIPT_FILENAME, якщо
      встановити значення 0, то ім'я файлу буде в змінної PATH_TRANSLATED, що
      може порушити сумісність з більшістю додатків.
    • fastcgi.impersonate \u003d 1;
      FastCGI дозволяє процесу імперсоніроваться використовуючи контекст клієнта,
      що викликає процес. Цей механізм працює тільки під FastCGI / IIS, наприклад
      на Apache на Windows це працювати не буде.
    • short_open_tag \u003d On
      Більшість додатків використовують короткі теги, Тому буде не
      зайвим включити їх підтримку.
    • display_errors \u003d On
      На час перевірки і налагодження PHP додатків на FastCGI варто включити висновок
      повідомлень про помилки.
    Крок 3. Перевірка працездатності PHP
    Поки ми не сконфигурировали IIS, перевірити працездатність інтерпретатора
    можна просто, наприклад, виконавши команду c: \\ web \\ php \\ php.exe -info\u003e c: \\ test.txt

    Установка і настройка модуля FastCGI на IIS7.

    Якщо у вас у IIS7, то щось мені підказує про назву вашої операційної
    системи - Windows Vista? Чи не вгадав, тоді Windows Server 2008! Або ви хакер і
    поставили IIS7 ще-кудись, але це нестандартне рішення і ми його не
    підтримуємо;).
    Крок 1. Встановлення FastCGI
    Хочу порадувати відразу - в IIS7, що йде з Windows Server 2008 і Windows Vista
    Service Pack 1 модуль FastCGI вже включений. Його необхідно лише підключити в
    налаштуваннях. Для цього на Vista потрібно відкрити Control Panel -\u003e Programs і вибрати
    «Turn Windows Features On or Off»:

    Після цього необхідно встановити фичу в IIS: Internet Information Services
    -\u003e World Wide Web Services -\u003e Application Development Features -\u003e CGI. При цьому
    буде встановлена \u200b\u200bпідтримка і CGI і FastCGI.

    На Windows Server 2008 процес аналогічний: Server Manager -\u003e Roles -\u003e Add
    Role Services -\u003e Web Server -\u003e Application Development -\u003e CGI.
    Власне все, що потрібно для включення модуля FastCGI.
    Крок 2. Конфігурація IIS7
    1. Відкрити IIS Manager, вибрати вузол (сервер) для якого потрібно налаштувати
    підтримку PHP. І далі вибрати Handler Mappings.

    2. Вибираємо на сторінці Handler Mappings посилання Add Module Mapping і
    заповнюємо вікно наступними значеннями:
    Request path: * .php (обробка всіх файлів з расшіреніем.php)
    Module: FastCgiModule (модуль FastCGI)
    Executable: C: \\ Web \\ PHP \\ php-cgi.exe (шлях до PHP)
    Name: PHP (ім'я для зручності)

    Після додавання цієї настройки з'явиться вікно з питанням про реєстрацію
    FastCGI додатки для цього обробника. Підтверджуємо.
    Описані вище дії привели до створення в директорії PhpSites наступного
    web.config файлу:


    < configuration >
    < system.webServer >
    < handlers >
    < add name =«PHP» path ="*.php" verb ="*"
    modules \u003d «FastCgiModule» scriptProcessor \u003d "C: \\ Web \\ PHP \\ php-cgi.exe"
    resourceType \u003d «Unspecified» /\u003e



    Тепер можна переходити до перевірки працездатності PHP.
    Крок 3. Перевіряємо коректність налаштування
    В директорії вузла для якого ми сконфигурировали PHP створюємо файл
    index.php:
    phpinfo ();
    ?>
    І звертаємося до цього файлу через HTTP запит. В результаті, якщо все добре і
    наша карма не зіпсовані, запит буде коректно оброблений:

    Зрозуміло, при використанні PHP на
    IIS7 можуть виникати підводні камені, з якими потрібно
    боротися, щоб досягти очікуваного результату (чудовою роботи
    PHP додатків на Windows).
    Молотки для розбивання часто зустрічаються каменів наведені нижче.

    Частота перезапуску процесів PHP

    Оскільки при використанні PHP на
    IIS7 з використанням FastCGI
    модуля, сам модуль FastCGI бере на себе
    управління процесами і ресурсами, необхідно переконається, що механізм перезапуску
    процесів (recycling) в PHP
    не заважатиме FastCGI. Це легко зробити, якщо
    налаштувати FastCGI так, щоб він завжди перезапускати
    процеси раніше, ніж це зробить PHP.
    В налаштуваннях FastCGI існує настройка
    instanceMaxRequests, що визначає після обробки якої кількості запитів,
    процес буде перезапущений. У PHP аналогічний параметр
    задається значенням змінної PHP_FCGI_MAX_REQUESTS. Очевидно, щоб дати
    можливість FastCGI рулити процесом, досить
    встановити instanceMaxRequests<= PHP_FCGI_MAX_REQUEST.
    Це зручно зробити, відредагувавши файл
    applicationHost.config (ховається в директорії C: \\ windows \\ system32 \\ inetsrv \\ config \\).
    У конфігурації повинна бути наступна інформація:

    < fastCgi >
    < application fullPath \u003d "C: \\ inetpub \\ php \\ php-cgi.exe"
    maxInstances \u003d "4" instanceMaxRequests \u003d «10000»\u003e
    < environmentVariables >
    < environmentVariable name =«PHP_FCGI_MAX_REQUESTS» value =«10000» >


    Використання декількох версій PHP

    Оскільки різні версії PHP можуть використовуватися в
    додатках, які розміщуються на сервері, то добре б було дати можливість
    використовувати різні версії для різних сайтів.
    У файлі конфігурації applicationHost.config
    досить визначити секції для різних версій PHP:
    < fastCgi >
    < application fullPath \u003d "C: \\ inetpub \\ php \\ php-cgi.exe»>
    ...

    < application fullPath =«C:\inetpub\php4\php4.exe» >
    ...

    < application fullPath \u003d "C: \\ inetpub \\ php41 \\ php41.exe»>
    ...


    * This source code was highlighted with.
    А вже для кожного з сайтів конфигурируется модуль, який використовує ту чи іншу
    версію (можна використовувати інтерфейс, який описаний вище, а можна
    відредагувати конфігурацію в тексті):
    < handlers >
    < add name =«PHP4» path ="*.php" verb ="*" modules =«FastCgiModule»
    scriptProcessor \u003d "C: \\ inetpub \\ php \\ php41.exe"
    resourceType \u003d «Unspecified» /\u003e

    * This source code was highlighted with.

    Використання різних наборів налаштувань PHP

    Якщо є бажання налаштовувати PHP по-різному для
    різних сайтів, то знову ж таки все це можна описати через настройки конфігурації в
    applicationHost.config.
    < fastCgi >

    < application fullPath \u003d "C: \\ inetpub \\ php \\ php-cgi.exe"

    arguments \u003d "- d my.website \u003d wordpress"\u003e

    < environmentVariables >

    < environmentVariable name =«PHPRC» value =«C:\inetpub\wordpress» />





    < application fullPath \u003d "C: \\ inetpub \\ php \\ php-cgi.exe"

    arguments \u003d "- d my.website \u003d phpsite"\u003e

    < environmentVariables >

    < environmentVariable name =«PHPRC» value =«C:\inetpub\phpsite» />






    * This source code was highlighted with.

    Після цього, настройки зв'язуються з відповідними сайтами в
    web.config:
    < system.webServer >

    < handlers accessPolicy =«Read, Script» >
    < add name =«PHP» path ="*.php" verb ="*" modules =«FastCgiModule»
    scriptProcessor \u003d "C: \\ inetpub \\ php \\ php-cgi.exe | -d my.website \u003d wordpress"

    resourceType \u003d «Unspecified» requireAccess \u003d «Script» /\u003e




    * This source code was highlighted with.

    Відповідно до наведеної конфігурацією, php.ini
    потрібно розмістити в директорії кожного з сайтів.
    При редагуванні налаштувань, варто строго дотримуватися збіг шляхів до
    відповідної версії PHP і з
    applicationHost.config і в web.config, щоб
    уникнути несподіваних результатів, якщо шляху будуть переплутані.
    На перший погляд редагування конфігурації може здатися складним і
    незручним процесом, але як тільки ви звикнете до конфігурації в
    XML і поширенню налаштувань методом
    Ctrl + C, Ctrl + V, ви будете дивуватися наявності інших
    способів конфігурації :)

    Налаштування безпеки PHP

    У php.ini мнооого різних налаштувань, багато з яких
    впливають на безпеку використання PHP. налаштувати
    все відповідним чином, гідну справу.
    Set allow_url_fopen \u003d Off
    ; використання URL для операцій з файлами
    Set allow_url_include \u003d Off
    register_globals \u003d Off
    ; скасування реєстрації глобальних змінних
    open_basedir \u003d «c: \\ inetpub \\»;
    обмеження на директорію, в якій працює PHP

    Max_execution_time \u003d 30; обмеження
    часу виконання скриптів
    max_input_time \u003d 60
    memory_limit \u003d 16M;
    обмеження на розмір використовуваної пам'яті
    upload_max_filesize \u003d 2M
    post_max_size \u003d 8M
    max_input_nesting_levels \u003d 64
    display_errors \u003d Off
    ; відключення повідомлень про помилки
    log_errors \u003d On
    error_log \u003d "C: \\ error.log»
    expose_php \u003d Off
    ; приховати присутність PHP

    висновок

    PHP на Windows - це не
    просто цікаво і зручно, головне, що це працює. А команда
    IIS працює над тим, щоб PHP
    працював на Windows не гірше, ніж на
    Unix / Linux (звичайно, намагаються зробити краще).
    Оскільки це нова тема для Microsoft, то ми можемо
    зробити якісь помилки, можемо чогось не помічати і не розуміти, тому нам
    дуже важливо отримувати коментарі від вас - розробників і адміністраторів.
    Пишіть в коментарях ваші побажання і проблеми, які ви бачите зараз в
    PHP на Windows, а ми будемо
    намагатися проблеми вирішувати, а побажання реалізовувати.

    Теги: Додати теги

    Установка веб-сервера на 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 may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

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

    #LoadModule rewrite_module modules / mod_rewrite.so

    LoadModule rewrite_module modules / mod_rewrite.so

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

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

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

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

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

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

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

    Як ім'я користувача вводимо 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 \u003d 128M

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

    Post_max_size \u003d 8M

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

    ; Default_charset \u003d "UTF-8"

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

    Upload_max_filesize \u003d 2M

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

    Max_file_uploads \u003d 20

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

    Max_execution_time \u003d 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: \u200b\u200b\\ Server \\ bin \\ створіть новий каталог з назвою Sendmail. Тепер в цьому каталозі створіть файл sendmail.php наступного змісту:

    #! / Usr / bin / env php

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

    Sendmail_path \u003d "C: \\ Server \\ bin \\ PHP \\ php.exe C: \\ Server \\ bin \\ Sendmail \\ sendmail.php --dir C: \\ Server \\ bin \\ Sendmail \\ emails"

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

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

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

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

    PHP Warning: PHP Startup: Unable to load dynamic library "C: \\\\ Server \\\\ bin \\\\ PHP \\\\ ext \\\\ php_curl.dll" - \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ 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 \\ "- \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd. \\ r \\ n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library " C: \\\\ Server \\\\ bin \\\\ PHP \\\\ ext \\\\ php_ldap.dll "- \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ 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 \\ .dll "- \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd. \\ r \\ n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library "C: \\\\ Server \\\\ bin \\\\ PHP \\\\ ext \\\\ php_pgsql.dll" - \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ xbf \\ xbd \\ xef \\ 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. Звісно, \u200b\u200bуповільнення трафіку і / або помилка сервера 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: "c: \\\\ Server \\\\ (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 to 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 \u003d curl

    Зазвичай це не потрібно, але при бажанні ви можете зробити резервну копію бінарних (здійсненних) файлів сервера. Всі ці файли знаходяться в папці 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 \u003d 1,2,3,4,5 *"% i in ( "netstat -aon ^ | findstr": 80 "^ | findstr / i listening") do echo% j% l & @tasklist | 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 \\ Видаліть файли сервера, для цього видаліть папку

    Увага, це видалить всі бази даних і ваші сайти. C: \\ Server \\. Як захистити веб-сервер Apache від злому в Windows

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

    У статті описується установка Apache 2.4 + PHP 5.6 + MySQL 5.6 на операційну систему Windows 7/8 / 8.1 / 10

    Перш ніж продовжити читання, зверніть увагу на те, чи дійсно вам необхідно встановлювати і налаштовувати все це під Windows? Може бути Вам варто звернути увагу на і не витрачати свій час і нерви на настройку того ж самого безпосередньо в Windows? У будь-якому випадку, прочитайте статтю про. Можливо вона заощадить вам не тільки час, але і здоров'я.

    Дана інструкція буде корисна починаючим WEB-розробникам, які збираються встановити на своєму ПК з ОС Windows WEB-сервер Apache з інтерпретатором PHP останніх версій. Звичайно ж, набагато простіше встановити збірку, на зразок Denwer або вдатися до використання інсталяторів і не паритися з приводу налаштувань. Однак кожен WEB-розробник

    зобов'язаний розуміти процес роботи WEB-сервера, процес його установки і настройки. Якщо Ви хочете встановити PHP 7, то зверніться будь ласка до статті.

    Якщо в процесі складання сервера по цій інструкції Ви зіткнулися з проблемами і все ще вважаєте себе WEB-розробником, то буде правильним кроком розібратися в проблемах, які виникли, а не писати в коментарі що інструкція говно. Інструкція робоча. Перевірено часом і сотнями інсталяцій. Будьте уважніше при виконанні простих кроків. Виконання кроків вручну і розбір ситуацій, якщо не запрацювало, додасть Вам skill як розробнику. Якщо Ви не WEB-розробник і не плануєте їм бути, то підшукайте простий спосіб установки в інтернеті - дана інструкція не для Вас.

    Зверніть увагу, що під Windows XP дані версії

    VC11 запустити буде неможливо (або вкрай важко).

    Підготовчі роботи

    Переконайтеся, що у вас саме Windows 7 або новіше. Якщо у Вас Windows XP, дана інструкція не допоможе Вам, так як описана тут версія Apache не працює під Windows XP.

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

    Якщо у Вас є Скайп, вимкніть в настройках використання 80 порту. В кінцевому підсумку Ви повинні переконатися, що жодна служба не використовує 80й порт.

    Для роботи дуже бажано мати файловий менеджер, що дозволяє створювати файли з будь-якими розширеннями, або, що ще краще, редактор коду, на зразок Sublime Text або Notepad ++ або повноцінну IDE.

    Структура папок може бути різною, проте дана інструкція написана під певну структуру і, якщо її дотримуватися, все гарантовано заробить.
    Перед тим як почати, створіть на диску D папку USR, Всередині якої створіть 5 подпапкок: apache, php, tmp, www, log. Саме так. Без вказівки номерів версій.

    У каталозі www створюємо індексні файли (за допомогою файлового менеджера або редактора коду), які будуть потрібні для перевірки того, що все працює:

    • index.html з вмістом: It works!
    • index.php з вмістом:

    Якщо файлового менеджера / редактора коду / IDE немає, скачайте архів з цими двома файлами. Але, якщо Ви вважаєте себе WEB-розробником, Ви повинні обзавестися інструментами.

    У системну змінну PATH додаємо:

    ; D: \\ USR \\ apache; D: \\ USR \\ apache \\ bin; D: \\ USR \\ php;

    Зауваження!

    Наведені в прикладах конфігураційних файлів номера рядків можуть відрізнятися для інших версій apache і php.
    Всі команди, включаючи редагування файлів, повинні здійснюватися від імені Адміністратора.

    Установка Apache 2.4

    Хоча для простої розробки на PHP і немає необхідності в окремому WEB-сервері (в PHP вбудований власний WEB-сервер, якого майже завжди досить для розробки одного проекту), все ж рекомендується зробити установку і настройку WEB-сервера Apache, хоча б тому, що програміст зобов'язаний знати ці тонкощі. В кінцевому підсумку доведеться працювати з WEB-сервером і доведеться розбиратися з його конфігурацією. Так що приступимо.

    1. завантажуємо Apache 2.4 binaries VC11 під свою систему за посиланням http://www.apachelounge.com/download/VC11/ Швидше за все у Вас 64 розрядна ОС, тому Вам знадобиться файл з ім'ям, на зразок httpd-2.4. xx-win64-VC11.zip
    2. Якщо потрібні якісь додаткові модулі, їх можна завантажити там же (для базової установки немає необхідності)
    3. Разархівіруем вміст папки Apache24 з скачав архіву в D: \\ USR \\ apache. Зверніть увагу, що в D: \\ USR \\ apache потрібно покласти НЕ папку Apache24 з архіву, а її вміст. Інсталювати нічого не потрібно.
    4. У файлі змінюємо значення ServerRoot на "d: / USR / apache" ( рядок 37) І значення DocumentRootDirecroty) На "d: / USR / www" ( рядки 242 і 243). Так само слід розкоментувати рядок 218 і змінити її на: ServerName localhost: 80
    5. Змінюємопараметри зберігання логів в тому ж файлі (знаходимо параметри і змінюємо): ErrorLog "D: /USR/log/apache-error.log" CustomLog "D: /USR/log/apache-access.log" common
    6. Встановлюємо сервіс Apache (від імені Адміністратора). Відкриваємо командний рядок від імені Адміністратора і вставляємо туди наступний рядок: D: \\ USR \\ apache \\ bin \\ httpd.exe -k install
    7. Стежимо за повідомленнями про помилки під час установки сервісу. Якщо все зроблено правильно, ніяких помилок бути не повинно. Якщо у вас після виконання рядки не з'явилася знову командний рядок, то ви щось зробили неправильно. Просто скористайтеся функціями скопіювати і вставити, щоб не допускати помилок при передруку.
    8. Створюємо на робочому столі ярлик для D: \\ USR \\ apache \\ bin \\ ApacheMonitor.exe і / або поміщаємо його в автозавантаження (для відкриття вікна автозавантаження в WIN8 необхідно натиснути WIN + R, потім ввести shell: Startup і натиснути ОК)
    9. Запускаємо ApacheMonitor. У системному треї з'явиться ярлик. Натискаємо на нього лівою кнопкою, вибираємо Apache24 -\u003e Start.
    10. У браузері заходимо на http: // localhost / - повинні побачити It works!
    11. Якщо не побачили такого напису, розбираємося, що пішло не так (читаємо логи, гугл, намагаємося самостійно розібратися з проблемою, якщо вже вирішили розбиратися в тонкощах роботи веб-сервера)

    Установка PHP 5.6

    1. Завантажуємо останню версію VC11 x86Thread Safe або VC11 x64Thread Safeза посиланням http://windows.php.net/download/. Зверніть увагу, що потрібен саме і саме Thread Safe. Розрядність повинна бути як у Apache. Файл, який Вам потрібен, швидше за все буде називатися зразок: php-5.6.11-Win32-VC11-x86.zip або php-5.6.11-Win32-VC11-x64.zip
    2. Витягуємо вміст архіву в D: \\ USR \\ php. Як у випадку з Apache, інсталювати нічого не потрібно.
    3. У файл D: \\ USR \\ apache \\ conf \\ httpd.conf додаємо рядки: LoadModule php5_module "d: /USR/php/php5apache2_4.dll" AddHandler application / x-httpd-php .php # Шлях до файлу php.ini PHPIniDir "D: / USR / php"
    4. І змінюємо значення DirectoryIndex на index.html index.php (рядок 276)
    5. Використовуючи ApacheMonitor перезапускаємо Apache (Apache24 -\u003e Restart)
    6. Заходимо браузером http: //localhost/index.php і переконуємося, що PHP працює.
    7. Робимо копію файлу D: \\ USR \\ php \\ php.ini-development з ім'ям D: \\ USR \\ php \\ php.ini
    8. Користуючись пошуком знаходимо, раскомментіруем і змінюємопараметри: extension_dir \u003d "D: / USR / php / ext" sys_temp_dir \u003d "D: / USR / tmp" extension \u003d php_mysql.dll extension \u003d php_mysqli.dll extension \u003d php_openssl.dll date.timezone \u003d Europe / Zaporozhye
    9. Виконуємо в командному рядку php -m щоб переглянути список підключених модулів.
    10. Перезапускаємо Apache використовуючи ApacheMonitor

    Віртуальні хости в Apache

    1. Якщо на комп'ютері проводиться налагодження кількох проектів, то можуть знадобитися віртуальні хости (сайти). На прикладі будемо розглядати два віртуальних хоста: s1.localhost і s2.localhost. Для зручності будемо створювати папки з такими ж назвами, що зовсім не обов'язково в реальній системі.
    2. Слід врахувати, що при використанні віртуальних хостів, параметр DocumentRoot конфігураційного файлу Apache більш не має сенсу. Основним хостом сервера (який буде доступний за адресою http: // localhost /) тепер є перший віртуальний хост в файлі конфігурації віртуальних хостів!
    3. Для початку необхідно додати в файл c: \\ Windows \\ System32 \\ drivers \\ etc \\ hosts рядки: 127.0.0.1 s1.localhost 127.0.0.1 s2.localhost

      Робити це потрібно від імені Адміністратора. Бажано після цього перезавантажитися, але на практиці цього не було потрібно. Якщо змінити файл не вдається (права доступу), ви можете скопіювати його на робочий стіл, змінити, а потім скопіювати назад.

    4. Створюємо папки для віртуальних хостів D: \\ USR \\ www \\ s1.localhost і D: \\ USR \\ www \\ s2.localhost, В яких будуть розташовуватися файли. У кожній з папок створюємо файл index.html з вмістом S1 і S2 відповідно (для контролю того, що все працює як треба)
    5. Потім створюємо папки для логів: D: \\ USR \\ log \\ s1.localhost і D: \\ USR \\ log \\ s2.localhost - тут будуть зберігатися логи кожного з сайтів. Взагалі-то, логи можна зберігати в одній папці, але я звик робити так - мені так зручніше.
    6. Далі необхідно включити підтримку віртуальних хостів. У файлі D: \\ USR \\ apache \\ conf \\ httpd.conf розкоментувати рядок Include conf / extra / httpd-vhosts.conf
    7. Далі редагуємо файл d: \\ USR \\ apache \\ conf \\ extra \\ httpd-vhosts.conf - він повинен виглядати так (по віртуальних хосту свій блок VirtualHost): ServerAdmin [Email protected] DocumentRoot "D: /USR/www/s1.localhost" ServerName s1.localhost ServerAlias \u200b\u200bwww.s1.localhost ErrorLog "D: /USR/log/s1.localhost/error.log" CustomLog "D: / USR / log / s1 .localhost / access.log "common ServerAdmin [Email protected] DocumentRoot "D: /USR/www/s2.localhost" ServerName s2.localhost ServerAlias \u200b\u200bwww.s2.localhost ErrorLog "D: /USR/log/s2.localhost/error.log" CustomLog "D: / USR / log / s2 .localhost / access.log "common
    8. Перший віртуальний хост s1.localhost тепер буде основним хостом системи, тому що його блок слід першим в конфігураційному файлі, тобто буде доступний при вході на