Развитие синтаксиса php 5.3-7.4

Установка и базовая настройка phpMyAdmin

Проверим как оно работает. Открываем браузер и переходим по адресу http://localhost/phpmyadmin/. Должно открыться такое окно:

Теперь нам необходимо создать конфигурационный файл для MySQL. Заходим в папку phpmyadmin и создаем там папку config. Открываем в браузере следующий адрес: http://localhost/phpmyadmin/setup/

Теперь, чтобы настроить параметры подключения к MySQL, нажимаем на кнопку «Новый сервер», нам открывается новое окно, в графе «Хост сервера» localhost необходимо заменить на 127.0.0.1:

Сохраняем настройки (жмем Apply) и нас автоматически вернут на предыдущую страницу. Выбираем язык по умолчанию — Русский, сервер по умолчанию — 127.0.0.1, конец строки — Windows. Внизу нажимаем Сохранить и затем Скачать.

Полученный файл (config.inc.php) сохраняем в корень установки phpMyAdmin (C:\Apache24\htdocs\phpmyadmin). Закрываем страницу, она нам больше не понадобится.

На этом все. Возвращаемся на страницу http://localhost/phpmyadmin/. Теперь можно авторизоваться в системе под пользователем root (пароль вводите тот, который указывали при настройке MySQL для пользователя root). Тестируем подключение к MySQL. Если все прошло успешно (вы смогли войти в phpMyAdmin), папку config из папки phpmyadmin удаляем.

Установка PHP

Если предполагается разработка проектов, содержащих php-скрипты, то эти скрипты кто-то должен обработать и преобразовать в HTML-код (ваш браузер ничего кроме HTML и JavaScript не понимает). А уж потом Apache отправит подключившемуся к 80-му порту компьютеру сгенерированный кем-то HTML.

Этот кто-то — PHP.

Приступаем к его установке.

Шаг 1.  Скачиваем PHP.

Дистрибутив PHP можно скачать с сайта разработчика. Я не рекомендую ставить свежайшую, на момент написания статьи, версию PHP 5.3.0. Новая версия на столько хорошая, что может вызвать глюки со старыми движками и php-фримворками.

Предлагаю скачать и установить старую добрую PHP 5.2.9-2, которую можно скачать с Deposit Files (18.62 МБайт)

Шаг 2. Установка PHP.

Запускаем установочный файл и приступаем к процессу установки PHP.

Опять таки жмем Next, соглашаясь с разнообразными лицензиями до появления выбора пути установки. Рекомендую, на всякий случай, устанавливать PHP в папку, заданную по умолчанию.

После выбора пути установки PHP спрашивает нас о версии Apache, которую мы установили. Устанавливали мы с вами версию 2.2.14 поэтому нужно выбирать соответствующий пункт:

Нажимаем Next и в следующем окне указываем путь к файлам конфигурации Apache. Они находятся здесь: C:\Program Files\Apache Software Foundation\Apache2.2\conf\

Нажимаем Next.

Теперь переходим к выбору устанавливаемых компонентов. Здесь поступим следующим образом:

Program — оставляем по умолчанию.

Extensions — этот раздел содержит кучу различных компонентов. Здесь давайте поступим следующим образом: если вы знаете, какие компоненты вам могут понадобится, а какие нет, выбирайте в соответствии со своими знаниями; если знаний в данной области у вас пока не достаточно, то выбирайте все компоненты.

Extras — из этого раздела нам ничего не нужно.

Вот что у нас получилось:

Нажимаем Next.

Поздравляю Вас, уважаемый читатель, вы установили PHP.

Manual PHP Installation on Windows

Choose Web Server

  • IIS is builtin to Windows.

    On Windows Server, use Server Manager to add the IIS role. Be sure to include the CGI Role Feature.

    On Windows Desktop, use Control Panel’s Add/Remove Programs to add IIS. See: » https://msdn.microsoft.com/en-us/library/ms181052%28v=vs.80%29.aspx?f=255&MSPPError=-2147217396

    For desktop web apps and web-development, you can also use IIS/Express or PHP Desktop

    Example #1 Command line to configure IIS and PHP

    
        @echo off
    
        REM download .ZIP file of PHP build from http://windows.php.net/downloads/
        REM
        REM path to directory you decompressed PHP .ZIP file into
    set phpdir=c:\php
    set phppath=php-5.6.19-nts-Win32-VC11-x86
    
    REM Clear current PHP handlers
    %windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI
    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-
    
    REM Set up the PHP handler
    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+
    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+
    %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script
    
    REM Configure FastCGI Variables
    %windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /.instanceMaxRequests:10000
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+".environmentVariables."
    %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+".environmentVariables."
    
    
  • There are several builds of Apache2 for Windows.

    We support ApacheLounge, but other options include XAMPP, WampServer and BitNami, which provide automatic installer tools.

    You may use mod_php or mod_fastcgi to load PHP on Apache.

    If you use mod_php, you MUST use a TS build of Apache built with same version of Visual C and same CPU (x86 or x64).

Choose Build

Download PHP production releases from » http://windows.php.net/download/.

A lot of testing and optimization is already done on the snapshot and qa releases, but you are welcome to help us do more.

There are 4 types of PHP builds:

  • Thread-Safe(TS) — use for single process web servers, like Apache with mod_php

  • Non-Thread-Safe(NTS) — use for IIS and other FastCGI web servers (Apache with mod_fastcgi) and recommended for command-line scripts

  • x86 — production use of PHP 5.5 or 5.6 or 7.0.

  • x64 — production use of PHP 7.0+ unless its a 32-bit only version of Windows. 5.5 and 5.6 x64 are experimental.

How to create a mandatory user profile

First, you create a default user profile with the customizations that you want, run Sysprep with CopyProfile set to True in the answer file, copy the customized default user profile to a network share, and then you rename the profile to make it mandatory.

To create a default user profile

  1. Sign in to a computer running Windows 10 as a member of the local Administrator group. Do not use a domain account.

    Note

    Use a lab or extra computer running a clean installation of Windows 10 to create a default user profile. Do not use a computer that is required for business (that is, a production computer). This process removes all domain accounts from the computer, including user profile folders.

  2. Configure the computer settings that you want to include in the user profile. For example, you can configure settings for the desktop background, uninstall default apps, install line-of-business apps, and so on.

    Note

    Unlike previous versions of Windows, you cannot apply a Start and taskbar layout using a mandatory profile. For alternative methods for customizing the Start menu and taskbar, see .

  3. Create an answer file (Unattend.xml) that sets the CopyProfile parameter to True. The CopyProfile parameter causes Sysprep to copy the currently signed-on user’s profile folder to the default user profile. You can use Windows System Image Manager, which is part of the Windows Assessment and Deployment Kit (ADK) to create the Unattend.xml file.

  4. Uninstall any application you do not need or want from the PC. For examples on how to uninstall Windows 10 Application see Remove-AppxProvisionedPackage. For a list of uninstallable applications, see Understand the different apps included in Windows 10.

Note

It is highly recommended to uninstall unwanted or unneeded apps as it will speed up user sign-in times.

  1. At a command prompt, type the following command and press ENTER.

    (Sysprep.exe is located at: C:\Windows\System32\sysprep. By default, Sysprep looks for unattend.xml in this same folder.)

    Tip

    If you receive an error message that says «Sysprep was not able to validate your Windows installation», open %WINDIR%\System32\Sysprep\Panther\setupact.log and look for an entry like the following:

    Use the Remove-AppxProvisionedPackage and Remove-AppxPackage -AllUsers cmdlet in Windows PowerShell to uninstall the app that is listed in the log.

  2. The sysprep process reboots the PC and starts at the first-run experience screen. Complete the set up, and then sign in to the computer using an account that has local administrator privileges.

  3. Right-click Start, go to Control Panel (view by large or small icons) > System > Advanced system settings, and click Settings in the User Profiles section.

  4. In User Profiles, click Default Profile, and then click Copy To.

  5. In Copy To, under Permitted to use, click Change.

  6. In Select User or Group, in the Enter the object name to select field, type , click Check Names, and then click OK.

  7. In Copy To, in the Copy profile to field, enter the path and folder name where you want to store the mandatory profile. The folder name must use the correct for the operating system version. For example, the folder name must end with “.v6” to identify it as a user profile folder for Windows 10, version 1607.

    • If the device is joined to the domain and you are signed in with an account that has permissions to write to a shared folder on the network, you can enter the shared folder path.
    • If the device is not joined to the domain, you can save the profile locally and then copy it to the shared folder location.
  8. Click OK to copy the default user profile.

To make the user profile mandatory

  1. In File Explorer, open the folder where you stored the copy of the profile.

    Note

    If the folder is not displayed, click View > Options > Change folder and search options. On the View tab, select Show hidden files and folders, clear Hide protected operating system files, click Yes to confirm that you want to show operating system files, and then click OK to save your changes.

  2. Rename to .

Установка OCI8 в виде подгружаемого (shared) расширения

Указание опции конфигурации shared позволяет собрать
OCI8 в виде динамически подгружаемой библиотеки. Сборка в виде
подгружаемого расширения позволяет легко обновлять OCI8 без пересборки
всего PHP.

Соберите OCI8 с помощью одной из следующих опций.

  • При использовании бесплатных библиотек
    » 
    Oracle Instant Client:

    Если Instant Client установлен из ZIP-архива, не забудьте в первую очередь создать
    символическую ссылку на библиотеку, например, так:
    ln -s libclntsh.so.11.1 libclntsh.so.

    Если Oracle Instant Client был установлен с помощью RPM, команда
    конфигурации будет выглядеть так:

    Например, —with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib

    Учтите, что поддержка Oracle Instant Client появилась только
    начиная с версий PHP 4.3.11 и 5.0.4 и ранее использовалась с опцией
    —with-oci8-instant-client
    .

  • При использовании базы данных Oracle database или полной установке
    Oracle Client:

    Убедитесь, что пользователь, под которым запущен веб-сервер,
    (nobody, www) имеет доступ
    к библиотекам, файлам инициализации и
    tnsnames.ora (если используется) в папке
    $ORACLE_HOME. При использовании Oracle
    10gR2, может понадобиться запуск утилиты
    $ORACLE_HOME/install/changePerm.sh для
    получения доступа к этой папке.

После настройки следуйте обычной процедуре сборки PHP, например,
make install, после чего будет создано
подгружаемая библиотека oci8.so. Возможно, вам
потребуется вручную перенести ее в папку расширений PHP, указанную
опцией вашего
php.ini.

Для завершения установки OCI8 добавьте следующую строку в php.ini:

Процесс установки

В директории, куда планируете установить Keitaro, не должен располагаться ваш сайт. Файлы вашего сайта будут заменены файлами Keitaro, что приведет к неработоспособности сайта.

Если вы планируете взять VPS или сервер для Keitaro, используйте скрипт автонастройки сервера.

Шаг 1: Проверка конфигурации сервера

На первом шаге проверяется конфигурация сервера. Если все необходимые условия выполнены, появится кнопка перехода на следующий шаг.

Примечание: Проверьте, совпадает ли IP сервера, который показывает инсталлятор, с тем, что в вашей лицензии

Возможные проблемы и решения:

ionCube не установлен — установите его по инструкции ionCube или обратитесь в саппорт хостинга.

Шаг 2: Проверка лицензии

Используйте ключ вашей лицензии.

Возможные проблемы:

  • curl_exec error — проверьте настройки firewall’а, сделайте пинг с сервера до keitarotds.ru;
  • Ключ не подходит к этому серверу — проверьте, совпадают ли IP сервера (в первом шаге написано) и IP лицензии.

Шаг 3: Загрузка файлов

На этом этапе инсталлятор скачает и распакует архив с файлами Keitaro. Время процедуры зависит от нагрузки сервера и ширины канала.

Шаг 5: Настройки доступа к базе данных

Впишите реквизиты для доступа к базе данных:

  • Хост — имя хоста базы данных (обычно localhost);
  • Имя БД — название базы данных;
  • Имя пользователя — логин для авторизации на сервере базы данных;
  • Пароль — пароль для пользователя базы данных;
  • Префикс таблиц — префикс будет добавлен к именам у создаваемых таблиц.

Если инсталлятору не удается подключиться к базе, проверьте наличие прав пользователя к самой базе и имя хоста.

Шаг 8: Настройка Cron

Здесь будут предложены команды, которые необходимо прописать в планировщике задач (Cron). Это нужно для того, чтобы периодически запускался скрипт cron.php, который занимается пересчетом статистики, мониторингом, очисткой кэша и старых данных.

Подробнее о настройке планировщика на странице Cron.

Подключение PHP к Apache

Для подключения PHP к Apache откройте конфигурационный файл веб-сервера, который расположен по следующему пути: Apache24\conf\httpd.conf (в папке сервера, в подпапке conf, файл httpd.conf).

В этот файл добавьте три строки, две из которых нужно откорректировать:

PHPIniDir "C:/путь/до/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/путь/до/PHP/php7apache2_4.dll"

В первой строке вместо C:/путь/до/PHP напишите точный путь до папки, куда вы распаковали файлы PHP. В третьей строке C:/путь/до/PHP/php7apache2_4.dll также откорректируйте путь, указав расположение PHP папки.

К примеру, я распаковал PHP в папку C:/Server/bin/PHP, тогда мои настройки следующие:

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

Если папка PHP находится в корне диска C, тогда эти строки должны быть такими:

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

Чтобы изменения вступили в силу, перезапустите веб-сервер или компьютер.

Обработка ошибок и исключений

В PHP 7.0 появился новый класс для внутренних ошибок Error и интерфейс исключений Throwable. Теперь Error и старый класс Excetion реализуют Throwable (пользовательские классы не могут реализовывать данный интерфейс). Exception можно использовать для отлова исключений, которые будут обработаны и выполнение программы продолжится. Класс Error служит для необратимых исключений и выбрасывается в случае ошибки PHP или на уровне ошибок разработчиков.

Большинство ошибок уровня E_ERROR или E_RECOVERABLE_ERROR будут выбрасывать Error, но некоторые будут выбрасывать объекты подклассов: ArithmeticError, AssertionError, ParseError, DivisionByZeroError, TypeError и ArgumentCountError (с версии 7.1). Эти подклассы ошибок не могут быть брошены самостоятельно, а только лишь словлены. Иерархию всех исключений можно представить в виде дерева:

┌Throwable
├──Error
│  ├──ArithmeticError
│  ├──AssertionError
│  ├──DivisionByZeroError
│  ├──ParseError
│  ├──TypeError
│  └──ArgumentCountError
└──Exception
   ├──ErrorException
   ├──LogicException
   │  ├──BadFunctionCallException
   │  │  └──BadMethodCallException
   │  ├──DomainException
   │  ├──InvalidArgumentException
   │  ├──LengthException
   │  └──OutOfRangeException
   └──RuntimeException
      ├──OutOfBoundsException
      ├──OverflowException
      ├──RangeException
      ├──UnderflowException
      └──UnexpectedValueException

Начиная с версии 7.1 появилась возможность в блоке catch обрабатывать сразу несколько исключений, перечисляя их через символ вертикальной черты. Может быть полезно для обработки одинаковых по логике ошибок или пользовательских исключений.

<?php try {
    /*
     * код программы
     */
} catch (
    ParseError         |
    TypeError          |
    ArgumentCountError $e
) {
    /*
     * ловим три вида ошибок PHP в одном блоке
     */
} catch (AppException | UserException $e) {
    /*
     * ловим пользовательские исключения
     */
} catch (Exception $e) {
    /*
     * ловим остальные исключения
     */
} catch (Throwable $t) {
    /*
     * ловим и логируем все ошибки и исключения
     */
}

На место фатальных ошибок пришли исключения, которые могут быть обработаны и позволяют корректно завершить программу в случае каких-то косяков. Это добавляет гибкости PHP-приложению.

Предопределённые исключения

Установка окружения Oracle

Перед использованием данного расширения, убедитесь, что
переменные окружения Oracle правильно настроены для пользователя,
под которым работает веб-сервер. Если ваш веб-сервер автоматически
стартует при загрузке, то убедитесь, что окружение при загрузке
также настроено корректно.

В Red Hat Linux и его вариантах, экспортируйте переменные в конце файла
/etc/sysconfig/httpd. Другие системы с
Apache 2 могут использовать скрипт envvars
из папки bin в дистрибутиве Apache. Третьим вариантом
является директива Apache SetEnv в файле
httpd.conf, на каких-то системах она может работать,
однако, известно, что на некоторых ее недостаточно.

Чтобы удостовериться в корректной настройке переменных окружения,
используйте функцию phpinfo() и проверьте, что раздел
Environment (не Apache
Environment) содержит ожидаемые переменные.

Следующая таблица содержит переменные, которые могут вам потребоваться.
За подробностями обо всех доступных переменных обращайтесь к документации
Oracle.

Общие переменные окружения Oracle
Название Цель
ORACLE_HOME Указывает на папку, с полностью установленной базой данных
Oracle. Не устанавливайте эту переменную при использовании
Oracle Instant Client, т.к. в этом нет необходимости и может
вызвать проблемы при установке.
ORACLE_SID Содержит имя базы данных на локальной машине, к которой
идет подключение. Нет необходимости устанавливать эту переменную
при использовании Oracle Instant Client, или всегда передавать
в параметрах соединения в функцию
oci_connect().
LD_LIBRARY_PATH Установите эту переменную (или ее эквивалент на используемой
платформе, например,
DYLD_LIBRARY_PATH, LIBPATH
или SHLIB_PATH) в местоположение библиотек
Oracle, например, $ORACLE_HOME/lib или
/usr/lib/oracle/11.1/client/lib. В этой переменной
нет необходимости, если библиотеки указываются другим механизмом
поиска, например, ldconfig или
LD_PRELOAD.
NLS_LANG Это основная переменная, используемая для указания
кодировки и настроек глобализации в библиотеках Oracle.
ORA_SDTZ Устанавливает временную зону сессии Oracle.
TNS_ADMIN Содержит папку, в которой хранятся конфигурационные файлы
Oracle Net Services, такие как tnsnames.ora
и sqlnet.ora. В ней нет необходимости, если
строка соединения в функции oci_connect()
использует синтаксис Easy Connect, такой как, например,
localhost/XE. В ней также нет необходимости, если
сетевые конфигурационные файлы содержатся в местах хранения по умолчанию,
таких как $ORACLE_HOME/network/admin или
/etc.

TWO_TASKORA_TZFILENLS*

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

После того как скачали, открываем архив httpd-2.4.7-win64-VC11.zip

Извлекаем из него папку Apache24 в раздел диска C:\

Теперь нам необходимо немного поправить конфиг, прежде чем устанавливать Apache. Открываем файл httpd.conf (находится здесь: C:\Apache24\conf) желательно через удобный редактор, например notepad++. Находим строку (217) ServerName www.example.com:80 и меняем на ServerName localhost:80

Далее нам необходимо установить Apache используя командную строку. Нажимаем Пуск → Выполнить, вводим команду cmd и нажимаем OK. У нас должно открыться окно командной строки

Здесь нам необходимо указать полный путь к файлу httpd.exe, который находится в папке Apache. В нашем случае это C:\Apache24\bin\httpd.exe. Набираем команду C:\Apache24\bin\httpd.exe -k install и жмем Enter.

Если при выполнении программы у вас возникает следующая ошибка: failed to open the winnt service manager perhaps you forgot to log in as administrator, заходим в следующую папку: C:\Users\Здесь_имя_вашего_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools, запускаем командную строку от имени администратора

И повторяем команду установки.

Установка завершена. Откройте директорию bin (полный путь: C:\Apache24\bin\) и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache, жмем start (запуск):

Теперь проверим работоспособность. Открываем браузер, и в адресной строке пишем http://localhost/ (можно просто localhost). Если установка выполнилась успешно, должна открыться страница с надписью It works!

Где в веб-сервере Apache находятся сайты?

По умолчанию корневой папкой для веб-документов является /var/www/html. В /var/www вы можете делать ваши собственные виртуальные хосты.

Папка /var/www/html и все файлы внутри неё принадлежат пользователю рут.

Чтобы вы могли изменять, добавлять, удалять файлы в этой папке, вам нужно использовать sudo. Например, следующей командой вы откроете файловый менеджер для управления содержимым папки.

sudo nemo /var/www/html

Все другие программы, которые вносят изменения в /var/www/html, также должны быть запущенными с sudo

На локальном сервере для упрощения использования вы можете сделать себя владельцем этой папки:

sudo chown -R $USER:$USER /var/www/html

Теперь вам и запущенным от вашего имени программам не нужны привилегии суперпользователя для работы с содержимым этой директории:

nemo /var/www/html

Шаг 1. — Подготовка

На этапе подготовки мы убеждаемся что у нас есть всё необходимое для выполнения дальнейшей инструкции:

  • Нам нужна установленная ОС  Ubuntu Server 18.04. — Вам в помощь статья — Установка Ubuntu Server 18.04 LTS
  • Ubuntu Server 18.04 должна иметь доступ в интернет. — Настройка сети в Ubuntu Server 18.04
  • Для проверки потребуется веб-сервер Apache или Nginx. — Apache web server. Установка на Ubuntu Server 18.04
    или Установка Nginx на Ubuntu Server 18.04

Посмотрим IP-адрес командой ifconfig(Рис.1).

ifconfig

Рис.1 — Смотрим IP-адрес Ubuntu 18.04.

Адрес моего сервера — 192.168.3.8, в этой статье я буду вводить его в браузере на другом ПК, для проверки работоспособности PHP7.2. Вы должны будете ввести свой IP-адрес.

Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере — localhost или IP-адрес — 127.0.0.1

На этом подготовка завершена, приступаем к установке PHP7.2.

Установка RSAT в Windows 10 в офлайн режиме

Если при установке RSAT вы столкнетесь с ошибкой Add-WindowsCapability failed. Error code = 0x800f0954, или в списке дополнительных компонентов вы не видите RSAT (Компоненты для установки отсутствуют), скорее всего ваш компьютер настроен на получение обновлений со внутреннего WSUS/SCCM SUP сервера.

Рассмотрим, как установить RSAT в Windows 10 1903 в офлайн режиме (корпоративная сеть без прямого доступа в Интеренет).

Для офлайн установки RSAT нужно скачать ISO образ диска с FoD для вашей версии Windows 10 из вашего личного кабинета на сайте лицензирования Microsoft — Volume Licensing Service Center (VLSC). Образ называется примерно так: Windows 10 Features on Demand, version 1903.

Например, для Windows 10 1903 x64 нужно скачать образ SW_DVD9_NTRL_Win_10_1903_64Bit_MultiLang_FOD_.ISO (около 5 Гб). Распакуйте образ в сетевую папку. У вас получится набор из множества *.cab файлов.

Теперь для установки компонентов RSAT на десктопе Windows 10 нужно указывать путь к данному сетевому каталогу с FoD. Например:

Также вы можете указать путь к каталогу с компонентами FoD с помощью рассмотренной выше групповой политики. Для этого в паромере Alternative source file path нужно указать UNC путь к каталогу.

Или можете задать этот параметр через реестр отдельной политикой, указав путь к каталогу в параметр LocalSourcePath (тип REG_Expand_SZ) в ветке реестра HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing.

После этого, пользователи смогут самостоятельно устанавливать компоненты RSAT через графический интерфейс добавления компонент Windows 10.

Настройка Apache и настройка PHP

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

У меня это папка www в корне диска «С».

Шаг 1. Разрешение доступа Apache к папе www на жестком диске.

Теперь в настройках Apache мне нужно указать путь к этой папке и разрешить доступ.

Для этого нужно открыть в любом текстовом редакторе основной файл конфигурации Apache. Это файл C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf.

В файле ищем блок инструкций:


    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

Ниже этого блока вставляем следующие инструкции:


    AllowOverride All
#    Options None
    Options Indexes FollowSymLinks
    Order allow,deny
    Allow from all

Тем самым мы разрешили доступ Apache к папке www в корне жесткого диска.

Шаг 2. Создаем место для хранения файлов сайта.

Так как обычно работа ведется с несколькими сайтами (т.е. в папке www корня жесткого диска, может находится несколько проектов: moysite, moysite1, noviysite и т.д.) , доступными по разным локальным URL, то нужно настроить работу Apache с виртуальными хостами.

Для этого в файле конфигурации C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf необходимо подключить файл дополнительной конфигурации виртуальных хостов.

Ищем в файле httpd.conf строку #Include conf/extra/httpd-vhosts.conf . Процесс подключения файла дополнительной конфигурации виртуальных хостов заключается в удалении символа решетка (#) перед этой строкой.

Было:

#Include conf/extra/httpd-vhosts.conf

Стало:

Include conf/extra/httpd-vhosts.conf

Дело в том, что в настройках Apache символом решетка (#) обозначается закомментированная строка, которая не участвует в конфигурации сервера.

Теперь файл дополнительной конфигурации подключен. Вот этот файл: C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf. Опять таки, открываем данный файл любым текстовым редакторе и описываем доступ к разрабатываемому сайту.

В конце файла необходимо добавить следующий блок:


	ServerName moysite.loc
	DocumentRoot "C:/www/moysite/www"
	ErrorLog "C:/www/moysite/logs/error.log"
	CustomLog "C:/www/moysite/logs/access.log" common

Пункт ServerName задает URL, по которому будет осуществляться доступ из браузера локального компьютера к разрабатываемому сайту, файлы которого находятся в папке C:/www/moysite/www. Файл C:/www/moysite/logs/error.log будет содержать информацию об ошибках в работе сайта, а файл C:/www/moysite/logs/access.log — информацию о подключениях.

Шаг 3. Перенаправление запросов на локальный сервер.

Последний шаг — это перенаправление запросов на локальный сервер. Нам нужно сообщить Windows о том, что при запросе в браузере URL moysite.loc его должен обработать наш локальный Apache. Для этого открываем файл C:\WINDOWS\system32\drivers\etc\host в любом текстовом редакторе и в конце дописываем одну строчку: 127.0.0.1 moysite.loc.

Вот и все, теперь перезапускаем Apache, кликнув левой клавишей по иконке рядом с часами и выбрав пункт Restart.

Ссылка на основную публикацию