Меню Рубрики

Установка php для win 7

Установка PHP 7.1 в Windows. Командная строка

В htmlAcademy стартовал первый базовый интенсив по PHP и я работаю на нем наставником. Студентам в рамках интенсива предстоит поднять рабочее окружение и это заметка нацелена упростить эту нелегкую для новичка задачу. Есть разные способы поднятия полноценного LAMP стека, но мы пойдем классическим путем. Настроим все компоненты по отдельности (без применения готовых комбайнов) и начнем с PHP (обязательно будет заметка с рассмотрением готовых сборок LAMP). Поскольку я планирую работать наставникам на интесивах по PHP и дальше, я собираюсь написать подобные инструкции для повторения в других ОС (Linux, macOS). Как говорится, лучше один раз попотеть, но потом всем станет проще. Итак, приступаем.

Загружаем PHP для Windows

Заходим на официальный сайт и загружаем актуальную версию PHP. На момент написания заметки это – 7.1.4. На странице доступно несколько вариантов дистрибутивов. У меня Windows 7 x64, соответственно я выбираю zip архив с VC14 x64 Thread Safe.

Обратите внимание, для загрузки доступна два варианта дистрибутива: Thread-Safe (TS) и Non-Thread-Safe (NTS). Выбор зависит от того как вы планируете применять интерпретатор. TS рекомендуется использовать для одного процесса веб-служб (например, настраивая через модуль mod_php для Apache). NTS рекомендуется для применения IIS (Internet Information Service) и альтернативных FastCGI веб-сервером (например, Apache с модулем FastCGI) и командной строки.

Устанавливаем PHP 7.1

Начнем готовить PHP для комфортной работе из командной строки. В предыдущем шаге вы загрузили архив с дистрибутивом PHP. В отличие от большинства программ, PHP поставляется в простом архиве, а не как инсталляционный пакет. Поэтому вам придется самостоятельно извлечь файлы в любую удобную для вас директорию. Я предпочитаю хранить подобные вещи в корне системного диска. Создайте в корне диска «C:» (или любом другом месте) директорию «php» и извлеките в нее содержимое загруженного архива.

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

  • go-pear.bat – сценарий для установки PEAR. Подробности о PEAR можно почитать в официальной документации.
  • php.exe – позволяет выполнять PHP сценарии из консоли;
  • php-win.exe — позволяет выполнять PHP сценарии без применения консоли;
  • php-cgi.exe – необходим для выполнения PHP кода в режиме FastCGI;
  • php7apache2_4.dll – модуль интеграции с веб-сервером Apache 2.4.X;
  • phpdbg.exe – отладчик;
  • php.ini-development – пример конфигурационного файла PHP для окружения разработчика (development)
  • php.ini-production – пример конфигурационного файла PHP для рабочего окружения (production)

Подключаем конфигурационный файл

Распакованный дистрибутив у нас есть, подключим для него конфигурационный файл. Мы собираемся ставить эксперименты, поэтому в качестве образца возьмем php.ini-development. Сделайте копию этого файла в директорию php (C:\php) с именем php.ini. ВАЖНО! Делайте именно копию, не простое переименование. За время разработки вам может потребоваться изменять конфигурационный файл и есть все шансы совершить ошибку, которую трудно будет обнаружить.

В таких случаях нет ничего лучше, чем вернуться к эталонным настройкам. В нашем случае будет достаточно повторить копирование файла php.ini-development в php.ini. Итак, по окончанию телодвижений в директории с php должен появиться файлик php.ini. В дальнейших заметках мы обязательно поговорим о его содержимом более детально.

Тестируем PHP из командной строки

На этом шаге, так называемая «установка» завершена. Откройте консоль (cmd.exe, ярлык доступен в меню «Стандартные») и введите команду:

Результат будет примерно таким:

Результат подтверждает, что PHP работает. Попробуйте для примера создать новый файл-сценарий (я создал файл “test.php” прямо в корне диска “C:”) и поместить в него текст:

Теперь попробуйте выполнить этот файл и посмотрите результат:

Функция phpinfo() выводит информацию по конфигурации PHP в удобном виде. Об этой функции мы еще поговорим.

Упрощаем обращение к php.exe

PHP готов к работе, но согласитесь, каждый раз вбивать в консоле путь к php интерпретатору довольно неудобно. Чтобы упростить себе жизнь, внесем небольшие изменения в переменные среды. Запустим в панели управления аплет «Система» (или просто нажмем горячую клавишу «Windows + Pause Break». Затем нажмем на кнопку «Изменить параметры». В появившемся окне «Свойства системы», перейдем на закладку «Дополнительно». Найдите и нажмите на ней кнопку «Переменные среды».

Находим в списке переменную «PATH» и нажимаем кнопку «Изменить», появится окно редактирования переменной. В поле «Значение переменной» нам необходимо дописать путь к директории с PHP. Перейдите в самый конец строки и через точку с запятой укажите путь к директории с PHP: C:\php;

Все, нажимайте «Ok». Теперь перезагрузите систему (увы, придется). После перезагрузки Windows, обращаться к PHP можно будет просто: php.Например, чтобы вывести название версии достаточно написать:

А чтобы интерпретировать файл test.php, расположенный в корне диска «C:»:

Или вовсе запустить встроенный веб-сервер:

Для тестирования откройте web-браузер попробуйте обратиться на http://127.0.0.1:8888/test.php. Обратите внимание, после параметра –t мы указываем путь к директории, которая станет корневой директорией веб-сервера. Все сценарии, расположенные в этой папке будут доступны для запроса с клиента. У меня на диске «C:» есть один файлик 1.php и именно его я и запрашиваю.

Можно пойти немного дальше и ассоциировать расширение .php с интерпретатором, т.е. сделать все файлы с расширением php исполняемым по умолчанию. Для этого вводим в консоле несколько команд:

Еще немного о переменных окружения

Теперь давайте поговорим о том как PHP будет искать файл настроек конфигурации (вспоминаем, о php.ini). В документации приведена полная цепочка поиска. Во избежание лишних сложностей, рекомендую сразу добавить в переменные окружения новую – «PHPRC» и в качестве значения указать путь к директории с конфигурационным файлом. У меня конфиг располагается в тоже же директории, что и основные файлы php, следовательно в качестве значения переменной указываю –

«C:\php». После внесения изменения потребуется перезагрузка.

На этом у меня все. Первый часть мануала для новичков готова.

источник

Установка PHP 7 на Windows

Для загрузки Windows-дистрибутива PHP 7 следует посетить раздел загрузки бинарных файлов официального сайта РНР. Каждый релиз снабжается четырьмя вариантами:

  • х86 Non Thread Safe — 32-битный CGI-вариант дистрибутива;
  • х86 Thread Safe — 32-битный вариант для установки в качестве модуля Web-сервера;
  • х64 Non Thread Safe — 64-битный CGI-вариант дистрибутива;
  • х64 Thread Safe — 64-битный вариант для установки в качестве модуля Web-сервера.

Вариант Thread Safe предназначен для безопасного выполнения РНР 7 в параллель­ных потоках в рамках одного системного процесса, например, если РНР устанавливается в качестве модуля Web-сервера Apache. Так как мы собираемся использовать встроенный сервер, не имеет значения, какой дистрибутив будет выбран, лучше всего воспользоваться вариантом Non Thread Safe. Последний вариант так же применяется при подключении РНР в качестве внешнего FastCGI-приложения, которое запускается на каждый внешний запрос.

Перед названием дистрибутива может быть помещена одна из аббревиатур VC11, VC14, означающих версии Visual Studio (2012 и 2015, соответственно), при помощи которой был скомпилирован дистрибутив. Для того чтобы успешно запустить про­ект, следует загрузить соответствующий распространяемый пакет Visual C++ для Visual Studio, который содержит необходимые динамические библиотеки:

Необходимы библиотеки именно от английского варианта Visual Studio, русский вари­ант пакета не подойдет.

После загрузки zip-архива его следует распаковать в какую-нибудь папку, напри­мер C:\php .

Убедиться в том, что РНР 7 доступен, можно, запустив командную строку, а затем перейти в папку C:\php при помощи команды

Выполнив в командной строке команду php с параметром -v , можно узнать теку­щую версию РНР:

Для того чтобы команда РНР была доступна в любой точке файловой системы, путь к PHP-интерпретатору следует прописать в переменной окружения path .

Для доступа к переменным окружения нужно открыть Панель управления, перейти к разделу Система. Самый быстрый способ добраться до этого пункта — это щелкнуть правой кнопкой мыши по кнопке Пуск и выбрать пункт Система из кон­текстного меню. В операционных системах, предшествующих Windows 8, следует выбрать в меню Пуск пункт Компьютер и в контекстном меню выбрать пункт Свойства. В открывшемся окне Панели управления с активным разделом Система слева щелкнуть по ссылке Дополнительные параметры системы. Затем в окне Свойства системы на вкладке Дополнительно необходимо нажать кнопку Переменные среды. В открывшемся диалоговом окне в разделе Системные перемен­ные следует отыскать переменную окружения path и дополнить ее путем к катало­гу C:\php . Отдельные пути в значении переменной path разделяются точкой с запя­той (в конце всей строки точка с запятой не требуется). После этого команда php будет доступна в любой папке компьютера.

источник

Установка PHP7 на Windows

В статье описывается ручная portable установка языка PHP 7.1, 7.2 и 7.^ на Windows из zip архива. Показаны все основные шаги инсталляции последней версии PHP, начиная от выбора необходимой сборки дистрибутива PHP и его развертывания в Windows, до настройки самого языка и WEB сервера Apache 2.4 для работы с PHP скриптами для обработки http запросов. Описана структура и назначение основных файлов дистрибутива PHP и приведены основные команды для работы с PHP из командой строки. Продемонстрировано использование встроенного в PHP HTTP WEB сервера. Статья содержит скринкаст, где, все описанное в статье, выполнено на примерах в Windows7.

Язык программирования PHP сейчас является наиболее распространенным языком для WEB приложений. PHP сочетает в себе большой накопленный опыт его использования и надежность, что позволяет реализовывать на нем не только малые и средние проекты, но и большие. Нужно вспомнить, что изначально, Facebook и ВКонтакте были написаны на PHP, и только потом были переведены на собственные компилируемые языки, основой для которых послужил PHP. Язык PHP не стоит на месте и постоянно развивается, но это делается разумно и осторожно, что обеспечивает пользователям легкий переход на новые версии языка, получая при этом улучшение в скорости и надежности. Основные действия по установке PHP7, описанные в этой статье, подойдут как для PHP 7.1.0, так и для PHP 7.2.0 и любых версий PHP 7.^. В примерах статьи используются версия PHP 7.1.0 (01.12.2016). Более подробно о нововведениях языка PHP7 рекомендую посмотреть в докладе Дмитрия Стогова (Zend Technologies) — «Развитие ветки PHP-7» . Здесь приведу из доклада Дмитрия только факты о том, что, по результатам тестов, PHP сейчас является самым быстрым из интерпретируемых языков и дальнейшее направление развития — это приближение по скорости к языкам C.

PHP на Windows

Несмотря на то, что в большинстве случаев PHP используют на Linux операционных системах, он с таким же успехом может использоваться и на Windows, как в сочетании с Apache, так и с Windows IIS WEB серверами. Например, если вы работаете на Windows, но вам необходимо выполнять запуск и тестирование PHP скриптов и CMS на основе PHP, то вы можете самостоятельно установить и вручную настроить все необходимые компоненты, включая и PHP. Такой подход является хорошей альтернативой против использования уже готовых сборок Win+AMP, так как вы получаете полнофункциональные версии компонентов и приобретаете реальный опыт по настройке PHP и Apache. В интернете присутствуют различные инсталляторы PHP, но не один из них не одобрен PHP.net. На официальном сайте PHP (php.net) рекомендуют выполнять именно ручную инсталляцию PHP на Windows из оригинального дистрибутива PHP в zip архиве, так как это является безопасным в отношении заражения системы троянами и вирусами. Ручная инсталляция PHP на Windows позволяет хорошо изучить структуру дистрибутива PHP и назначение его основных файлов и настроек, что будет несомненным плюсом в дальнейшем, при развертывании LAMP сервера на Linux и для выполнения WEB разработки на PHP.

ШАГ 1 скачать дистрибутив PHP для Windows

Скачивать дистрибутив PHP для Windows нужно с официального сайта PHP, где на странице «PHP For Windows» выложены сборки PHP для Windows в виде zip архива.

В примерах этой статьи PHP будет настраиваться в Windows7 на работу с WEB сервером Apache через его собственный, специализированный SAPI модуль вызова PHP, поэтому мною будет использован следующий дистрибутив PHP 7.1.0:

Данная сборка выполнена в Visual Studio 2015 с пакетом VC14Visual C++ 2015 x64 Redistributable Package, который должен быть установлен в вашей системе. Компоненты VC14, обычно уже имеются в системе, но если они не установлены, то скачать VC14 для инсталляции можно на официальном сайте Microsoft по ссылке : Распространяемый компонент Microsoft Visual C++ 2015 Update 3 RC .

Эта сборка является Thread Safe (потоково безопасной) версией и обеспечивает корректное функционирование PHP при использовании его из нескольких потоков одновременно, что как раз и нужно при работе PHP через SAPI модуль Apache на Windows. Это связано с тем, что, в зависимости от подхода и операционной системы, параллельная обработка может быть реализована через параллельные процессы или через параллельные потоки. Эти подходы имеют отличия и накладывают некоторые требования к исполнению как в PHP, так и в других программах. Так, например, потоки имеют общее адресное пространство, процессы же имеют разное. Для процессов вообще безразлично, что внутри каждого из них происходит т.к. они не влияют друг на друга. Поэтому, там, где PHP может исполняться в несколько параллельных потоков, необходимо использовать версию Thread Safe для безопасного разделения переменных окружения, адресного пространства и т.п. Если же PHP будет исполняться только внутри параллельных процессов, то можно использовать Non Thread Safe версию PHP, хотя это и не обязательно.

Читайте также:  Установка бублика к маховику

О том, какой вариант PHP использовать, Thread Safe или Non Thread Safe, так же написано на странице загрузки PHP в секции под заголовком: Which version do I choose?. Там сказано, что:

  • если вы планируете использовать PHP на Windows через встроенный SAPIмодуль WEB сервера Apache (или другого WEB сервера), то необходимо использовать Thread Safe версию PHP, т.к. SAPI модуля WEB серверов являются много поточными и PHP может выполняться в нескольких параллельных потоках;
  • если вы планируете использовать PHPтолько как внешнее CGI или CLI приложение через FastCGI/CGI или CLI (в них PHP запускается только как параллельный процесс), то можно выбрать и Non Thread Safe версию PHP.

Эта сборка содержит в своем составе SAPI модуль Apache, который взят от сборки Apache от Apache Lounge http://www.apachelounge.com/. Данная сборка PHP будет корректно работать как с Apache от Apache Lounge, так и с сборкой Apache 2.4.23 x64 от Apache Haus, инсталляция которой на Windows была описана мною в статье и скринкасте: «Установка Apache на Windows» https://andew.ru/ru/pages/page/install-apache-on-windows.

ШАГ 2 размещение PHP в Windows

Скачанный дистрибутив PHP необходимо распаковать с сохранением его структуры в выбранный вами каталог, который может располагаться в любом месте файловой системы (не обязательно в системных каталогах Windows). Путь до папки, где будет размешаться PHP, желательно выбирать как можно короче, без пробелов и других недопустимых символов. Лучше использовать только EN буквы и цифры. Например: «C:\PHP».

В статьях, связанных с темой установки PHP на Windows: «Установка Apache на Windows», «Portable MySQL 5.7 в Windows» и «Установка Gulp в WEB проект сайта», мною, во всех примерах, используется для разрешения дистрибутивов Apache, MySQL и Gulp корневой каталог «Z:\WebDevelopment». Поэтому, в продолжении этих тем, для примеров этой статьи, мною будет использован для инсталяции PHP каталог вида: «Z:\WebDevelopment\PHP». Таким образом, эта статья дополнит предыдущие и объединит их вокруг темы по самостоятельной организации собственного WinAMP сервера на Windows.

Для удобства работы с PHP через командную строку нужно добавить в конец системной переменной PATH, через точку с запятой, путь к директории с инсталляцией PHP, например, ;Z:\WebDevelopment\PHP . Это можно сделать в настройках Windows: Computer > Properties > Advanced > System Properties > System Variables, где выбрать редактирование системной переменной Path. После этого PHP станет доступен из командной строки в любом месте файловой системы.

Структура файлов и каталогов дистрибутива PHP7 для Windows

PHP 7 package structure с комментариями к файлам:

Общие замечания по установке PHP

Перед началом установки, нужно понимать для каких целей и задач может быть использован PHP.

Выделяют три направления использования PHP

  • Веб-сайты и веб-приложения, где PHP используется как язык сценариев на стороне сервера для генерации динамического web содержимого;
  • Командная строка сценариев, где PHP вызывается через командную строку (CLI) и выполняет различные сценарии, как на локальном компьютере, так и на сервере;
  • Desktop (GUI) приложения, где PHP используется для создания оконных приложений.

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

Подключение PHP к WEB серверу

Для первого, наиболее распространенного варианта использования PHP, как языка программирования web приложений, необходимо организовать связь между PHP и WEB сервером. PHP имеет два способа подключения к WEB серверу:

PHP как SAPI или ISAPI модуль WEB сервера

В качестве собственного PHP модуля SAPI (Server Application Programming Interface) или ISAPI (Internet Server Application Programming Interface) для различных WEB серверов, которые представляет собой интерфейс прикладного программирования (API), расширявший возможности веб-сервера в части взаимодействия с PHP. Это подход реализуется через прямой SAPI/ISAPI модуль самого WEB сервера, который поставляется с PHP или с WEB сервером и реализует взаимодействие между веб-сервером и языком программирования PHP напрямую. Использование прямого модуля для конкретного web сервера является самым эффективным и высокопроизводительным (при большом количестве запросов) способом взаимодействия между web сервером и PHP. Такие SAPI модуля имеются для WEB серверов: Apache, Microsoft Internet Information Server, Netscape и IPlanet. Многие другие серверы имеют поддержку ISAPI, например, OmniHTTPd. Для Apache работа с PHP через SAPI модуль, из-за длительного их совместного сотрудничества, является самым распространенным и эффективным решением. В данную сборку PHP php-7.1.0-Win32-VC14-x64 для Windows уже включен модуль SAPI для Apache с названием файла php7apache2_4.dll. Несмотря на удобство и скорость работы такой подход имеет и свои недостатки. Например, запуск php скриптов от имени web сервера, а не от имени пользователя владельца файла. Но для Apache в Ubuntu этот недостаток можно устранить использованием пакета libapache2-mpm-itk (multiuser module for Apache). Это дополнительный модуль для Apache, который есть в universe репозиториях Ubuntu и он позволяет Apache запускать PHP скрипты от имени владельца файла.

PHP как внешнее FastCGI/CGI приложение

FastCGI (Fast Common Gateway Interface) и CGI (Common Gateway Interface — общий интерфейс шлюза ) интерфейсы — это второй вариант взаимодействия между WEB сервером и PHP. FastCGI это клиент серверный протокол взаимодействия веб сервера и приложения, который является продолжением развития технологии CGI. Этот протокол предоставляет общий и универсальный способ взаимодействия PHP с любым WEB сервером, и в новой версии не уступает по скорости прямому модулю SAPI. Для некоторых серверов, например, IIS, FastCGI значительно более стабилен и может быть быстрее, чем модуль ISAPI. Если PHP не имеет модуль поддержки для вашего веб сервера, то вы всегда можете использовать PHP через FastCGI или CGI интерфейсы. Для использования PHP с web сервером через FastCGI/CGI понадобиться настроить веб сервер на обработку запросов через файл-обработчик php-cgi.exe, который входит и в дистрибутив PHP для Windows. Использование FastCGI имеет много преимуществ и является более экономичным и безопасным подходом в отношении прав доступа и возникновения ошибок в работе скриптов. Единственным, незначительным и относительным недостатком для FastCGI является то, что он может уступать в скорости, при большом количестве запросов, по сравнению с SAPI модулем Apache. Для других же web серверов FastCGI может быть даже более лучшим выбором.

ШАГ 3 создание php.ini

Следующий шаг, после развертывания дистрибутива PHP, это создание файла (или файлов) конфигурации PHP, который для Windows, в большинстве случаев, имеет название php.ini и, в основном, располагается в каталоге с инстанцией PHP. Но возможны так же и другие варианты названия и расположения (см. ниже). Файл php.ini является основным конфигом PHP в Windows и, в зависимости от способа использования PHP, читается интерпретатором PHP, или каждый раз при старте/вызове PHP, или только одни раз при старте web сервера.

  • Если PHP вызывается и работает как SAPIмодульWEBсервера, то файл php.iniчитается только один раз, когда WEB сервер стартует. И пока WEB сервер работает, файл php.ini больше не перечитывается. Поэтому, если PHP у вас работает как модуль сервера, не забывайте пере запускать web сервер после внесения изменений в php.ini;
  • Если же PHP работает как внешнее CGI или CLI приложение через FastCGI/CGI или CLI, то файл php.iniперечитывается заново при каждом вызове и обращению к PHP.

php.ini

При инсталяции PHP на Windows, в основном, используют для конфигурации PHP один конфиг файл с именем php.ini , который располагают в каталоге установки PHP. Однако, нужно так же понимать, что одна инсталляция PHP может одновременно использоваться и как SAPI модуль веб сервера и как внешнее FastCGI/CGI или CLI приложение. Для таких случаев, многоцелевого использования PHP, можно задать разные файлы конфигурации PHP как по имени (php.ini или php-SAPI.ini), расположению, так и по их количеству. Например, для SAPI модуля веб сервера, можно сделать отдельный php.ini файл (название файла может быть и вида php-SAPI.ini, см. ниже) и разместить его в каталоге web сервера или сайта, указав PHPIniDir директиву для Apache. Тогда, при вызове PHP через SAPI модуль Apache, будет использоваться этот конфиг, а при вызове PHP через FastCGI/CGI или CLI будет использоваться другой конфиг, например, php.ini из каталога инсталяции PHP.

php.ini и php-SAPI.ini

Имя файла конфигурации php.ini используется в PHP на Windows по умолчанию. Именно конфиг с именем php.ini PHP будет искать, если отсутствуют другие варианты. Однако, можно использовать другое имя файла конфигурации PHP, задав его в формате php-SAPI.ini, где часть SAPI это имя вызывающего PHP модуля или интерфейса. Это имя модуля/интерфейса можно узнать при помощи PHP функции php_sapi_name() , которая вернет строку с именем вызвавшего PHP модуля или интерфейса. Могут быть значения вида: apache, apache2filter, apache2handler, cgi-fcgi, cli, cli-server и т.п. Соответственно, узнав имя вызывающего PHP модуля или интерфейса для конкретного варианта использования PHP, вы можете создать для него отдельный конфиг, например, php-cli.ini, php-apache.ini. Тогда, при вызове PHP через этот модуль или интерфейс, PHP будет сначала использовать соответствующий ему конфиг, если он существует. Если такого файла нет в указанных искомых расположениях, то будет использоваться php.ini имя файла конфига. Иными словами, PHP сначала всегда пытается найти и использовать конфиг с именем, соответствующий вызывающему модулю или интерфейсу, и только при отсутствии такового, использует конфиг с именем php.ini.

.user.ini

С версии PHP 5.3.0 добавлена поддержка PHP INI файлов .user.ini уровня каталога, по аналогии с .htaccess конфигами в Apache. Эти файлы ищутся и применяются только для CGI/FastCGI вызова PHP, когда, помимо основного php.ini файла, PHP дополнительно ищет INI файлы в каждой директории, начиная с директории вызываемого PHP файла и далее по каталогам в верх до корневой директории из $_SERVER[‘DOCUMENT_ROOT’]. Если запрошенный PHP файл находится вне корневой директории, то сканируется только директория этого запрошенного файла. В таких, .user.ini PHP конфигах, уровня директории, могут применяться только PHP директивы режимов PHP_INI_PERDIR и PHP_INI_USER (см. описание режимов ниже).

PHP директивы user_ini.filename и user_ini.cache_ttl настраивают использование этих конфигов уровня директории:

  • user_ini.filename — задет имя файла, который PHP будет искать в каждой директории. Если значение директивы пустая строка, то поиск файла не производится. По умолчанию значение user_ini.filename = «.user.ini». Если нужно, чтобы PHPне выполнял поиск INI файла в директориях, то установите эту директиву как user_ini.filename =
  • user_ini.cache_ttl — задет частоту обновления пользовательского INI файла каталога. По умолчанию, директива имеет значение user_ini.cache_ttl = 300, что соответствует 5 минутам.

Последовательность поиска конфига PHP в локализациях

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

PHP на Windows ищет файл(файлы) php.ini и php-SAPI.ini по порядку в следующих локализация:

  • если PHP вызван как SAPI модуль web сервера, то путь к файлу php-SAPI.ini/php.ini будет браться из значения соответствующей директивы конфига web сервера. Для Apache это директива PHPIn >SetEnvPHPRC. Что бы создать эту переменную для операционной системы и добавить в нее путь к каталогу с конфигом PHP в Windows нужно зайти в Start ->Settings ->Control Panel ->System, перейти в вкладку Advanced, и нажать кнопку ‘Environment Variables’ и перейти в ‘System variables’панель, где выбрать создать ‘New’ переменную, и задать для нее имя PHPRC и значение пути до каталога с файлом php.ini, например, C:\php, сохранить и перезагрузить систему. Этот вариант позволяет указать каталог расположения дефолтовогоphp-SAPI.ini и php.ini файлов конфигурации PHP. Обычно, это каталог инсталяции PHP на Windows.
  • в ключах реестра KEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath и других;
  • в текущей рабочей директории, кроме вызова через CLI
  • в директории web сервера (для варианта вызова через SAPI модуль) или в директории инсталяции PHP для вариантов вызова через CGI, CLI, GUI. Это, как раз и есть, наиболее распространенный вариант расположения конфигов PHP.
  • в директории C:\windows

Создание php.ini

Учитывая вышеописанную логику поиска имени и расположения конфигов PHP, получается, что самым простым будет использование файла конфигурации с именем php.ini, который будет располагаться в каталоге инсталяции PHP на Windows. При таком подходе PHP будет использовать одни конфиг php.ini в дефолтовом расположении для всех вариантов вызова. Соответственно, нужно будет указать только путь к инсталяции PHP в директиве PHPIniDir WEB сервера Apache, для случая запуска PHP через его модуль. Так же, нужно убедиться, что Apache имеет права на чтение файла php.ini. Других настроек для указания пути к конфигу PHP в этом варианте не потребуется.

Файл php.ini можно создать на основе файлов примеров php.ini-development и php.ini-production, входящих в дистрибутив PHP для Windows. Более предпочтительнее использовать файл php.ini-production, т.к. он имеет оптимизированные настройки по умолчанию для лучшей производительности и безопасности, и PHP будет прекрасно работать с этими настройками. Создайте из этого файла (php.ini-production) копированием и переименованием свой php.ini конфиг в каталоге вашей инсталляции PHP. Для примеров этой статьи и скринкаста путь для php.ini будет как «Z:\WebDevelopment\PHP\php.ini«.

Рекомендуется прочесть php.ini файл, так как он хорошо комментирован. Обратите внимание, что в этом файле директивы display_errors и magic_quotes_gpc выключены (off). В секции Windows extensions файла php.ini можно настроить загрузку модулей PHP, с которыми вы хотите запускать PHP. По умолчанию, для модулей PHP на Windows задан extension_dir = «ext» каталог. Нужно заметить, что модуля PHP можно подключать и загружать не только через конфигурационный файл php.ini, но и динамически в скриптах, по ходу их исполнения при помощи PHP функции dl() . Для этого функция dl() должна быть разрешена в php.ini (по умолчанию enable_dl = Off). В php.ini-production уже оптимально настроены необходимые модуля и поэтому, в начале, лучше проверить работу PHP с этими дефолтовыми настройками. Если PHP будет работать нормально с этими настройками по умолчанию, то уже можно будет выполнять активацию других, необходимых вам дополнительных модулей и директив. Лучше это делать по шагам, выполняя проверку работы PHP после каждого изменения блока настроек, что бы иметь возможность быстро найти причину, если PHP не запуститься или будет работать не корректно. Если вам приходится постоянно выполнять много изменений в конфигурационных файлах (не только PHP, но и других), то можно порекомендовать создать для конфигов отдельный репозиторий GIT, что бы было удобно отслеживать и протоколировать все изменения. Это очень хорошая практика и часто используется на продуктивных серверах.

Способы изменения конфигурации PHP

Конфигурационные директивы PHP могут быть установлены и/или изменены в файлах конфигурации php (php.ini и т.п.), в PHP скриптах, в конфигах Apache. Что бы понять, где и на каком уровне, может быть задана та или иная конфигурационная директива PHP, необходимо знать режим этой директивы. Режим директивы определяет где (php.ini или php скрипт или конфиг Apache) эта директива может быть установлена или изменена. В PHP имеются следующие режимы директив.

Режимы директив PHP

  • PHP_INI_USER — директива может быть установлена только в пользовательских php скриптах при помощи функции ini_set(), в пользовательском .user.ini;
  • PHP_INI_PERDIR — директива может быть установлена только в php.ini(главный конфиг), httpd.conf и/или .htaccess;
  • PHP_INI_SYSTEM — директива может быть установлена только в php.ini и/или httpd.conf;
  • PHP_INI_ALL — директива может быть задана в любом месте

Конфигурационные директивы PHP можно задать и /или изменить в:

  • в главномphp.ini файле для данного вызова PHP;
  • в php-SAPI.ini файле для соответствующего вызывающего модуля SAPI;
  • в локальном файле .user.ini каталога (только для CGI/FastCGI SAPI);
  • в php скриптах при их выполнении (ini_set());
  • в конфигах Apache (httpd.conf, .htaccess);

ini_set() — настройка PHP в скриптах

Функция PHP ini_set() позволяет выполнять установку и/или изменение значений конфигурационных директив PHP с режимом PHP_INI_USER в php скриптах при их исполнении. Заданная при помощи этой функции настройка будет жить только пока исполняется сделавший ее PHP скрипт. По завершению работы скрипта настройка будет восстановлена к исходному состоянию.

Настройка PHP в конфигах Apache

Когда PHP используется как SAPI модуль Apache возможно выполнять изменение настроек PHP не только через php.ini файлы и php скрипты, но и напрямую в конфигурационных файлах Apache разного уровня — httpd.conf, httpd-vhosts.conf, .htaccess и т.д. В конфигах Apache могут быть установлены таким образом только директивы PHP, соответствующие режимам PHP_INI_ALL, PHP_INI_PERDIR и PHP_INI_SYSTEM.

  • php_valuenamevalue — позволяет установить значение(кромеtrue/false) для директивы PHP уровня/режима PHP_INI_ALL и PHP_INI_PERDIR. Для сброса значения ставят none;
  • php_flagnameon|off — позволяет установить логическое значение для директивы PHP уровня PHP_INI_ALL и PHP_INI_PERDIR;
  • php_admin_valuenamevalue — позволяет установить значение(кромеtrue/false) для директивы PHP уровня PHP_INI_ALL и PHP_INI_PERDIR. Для сброса значения ставят none. Директива не допустима в .htaccess (игнорируется) и, будучи ранее установленной, не может быть переопределена в .htaccess или в ini_set() функции php скрипта;
  • php_admin_flagnameon|off — позволяет установить логическое значение для директивы PHP уровня PHP_INI_ALL и PHP_INI_PERDIR. Директива не допустима в .htaccess (игнорируется) и, будучи ранее установленной, не может быть переопределена в .htaccess или в ini_set() функции php скрипта.

Пример настроек PHP в конфиге виртуального хоста Apache.

В примере использованы директивы Apache php_admin_value и php_admin_flag, следовательно, сделанные через них настройки PHP не могут быть изменены пользователем в .htaccess или в ini_set(). Таким образом, администратор сервера может повысить безопасность сайта и не опасаться, что настройки, сделанные им для виртуального хоста будет переопределены на уровне каталога сайта его пользователем.

Данный пример с настройками витального хоста можно рекомендовать как для разработческого так и продуктивного однопользовательского web сервера.

ШАГ 4 CLI вызов PHP

После развертывания дистрибутива PHP, создания php.ini файла и указания пути к инсталяции PHP в системной переменной PATH, установка PHP на Windows считаться выполненной. Теперь можно использовать PHP через CLI, обратившись к бинарнику php.exe (CLI исполняемый файл для вызова PHP только из командной строки) в командной строке.

Пример CLI вызова PHP в командной строке Windows

В примере ниже продемонстрирован CLI вызов PHP и выполнение команды >php —help, которая выводит краткий help по использованию PHP через CLI. Если вы прописали в системной переменой PATH путь до инсталяции PHP, как было указано выше, то вы можете открыть командную строку в любом месте файловой системы и обращаться к PHP. Если же у вас не задан в PATH путь до инсталяции PHP, то командную строку необходимо открыть в каталоге с инсталляцией PHP, где расположен файл php.exe или добавить тогда этот путь в команду вызова PHP.

Примеры в статье и скринкасте приводятся с учетом того, что в PATH уже прописан путь до каталога инсталяции PHP.

Как видно, даже из этой краткой справки, PHP предоставляет большой набор команд для работы через CLI. Наибольший практический интерес предоставляет команда:

которая позволяет запустить встроенный в PHP WEB сервер.

Этот встроенный в PHP WEB сервер можно успешно использовать для разработки и тестирования PHP скриптов и сайтов на PHP. Работа с ним будет похожа на использование WEB сервера в Node.js. Можно запустить несколько экземпляров встроенного в PHP веб сервера для разных каталогов/сайтов, задав каждому свое сочетание хост:порт. Каждый, запущенный экземпляр, будет обслуживать свой каталог/сайт, для которого он был запущен (см. пример ниже). Несмотря на простоту и удобство встроенного в PHP WEB сервера его, все же, не рекомендуют использовать для Production эксплуатации сайтов, а использовать для этих целей специализированные WEB сервера, например, Apache. Также, если вы используете в каталогах сайта файлы конфигурации Apache .htaccess, то при работе со встроенным в PHP веб сервером нужно понимать, что конфигурационные директивы Apache из этих файлов и из файлов виртуальных хостов не будут работать.

Пример запуска встроенного PHP web сервера для сайта и каталога Z:\WebDevelopment\Projects\Site1 на localhost:80

Сообщения в командной строке при обращении в браузере по адресу localhost

Как видите, внешне, запуск и работа встроенного в PHP WEB сервера очень похожа на работу встроенного в Node.js сервера. Выбираем каталог с сайтом и запускаем PHP веб сервер на нужном хосте (не забываем в файле C:\WINDOWS\system32\drivers\etc\hosts прописать этот хост) и порту. Наблюдаем сообщения в командной строке от PHP WEB сервера. Смотрите так же демонстрацию работы встроенного в PHP веб сервера в скринкасте к этой статье.

ШАГ 5 настройка работы PHP с web сервером Apache2.4 на Windows

Для работы PHP с веб сервером необходимо будет выполнить уже дополнительные настройки в конфигурации самого WEB сервера, которые описаны ниже. В примерах этой статьи и скринкаста мною будет выполняться настройка PHP для работы с WEB сервером Apache 2.4.23 x64 от Apache Haus, инсталляция которого описана скринкасте и статье: Установка Apache на Windows.

Настройка Apache2.4 для работы с PHP

Как уже было описано выше, PHP может работать с web сервером Apache как через SAPI Apache модуль DLL (php7apache2_4.dll), так и через CGI/FastCGI бинарник PHP (php-cgi.exe). Но в любом случае необходимо будет сделать соответствующие настройки в httpd.conf файле веб сервера, и перезапустить сервер. Не забываете перезапускать Apache после правок файлов его конфигурации и конфигов PHP, если php вызывается как модуль Apache.

В данном дистрибутиве PHP от php.net имеется файл php7apache2_4.dll из сборки Apache от Apache Lounge (см. выше). Этот файл, собственно, и является SAPI модулем WEB сервера Apache и обеспечивает взаимодействие между веб сервером и PHP. Данный модуль php7apache2_4.dll будет так же корректно работать и с дистрибутивом Apache 2.4.23 x64 от Apache Haus, сборка которого используется в моих примерах. Нужно сказать, что этот SAPI модуль DLL работает достаточно стабильно на Windows и обеспечивает хорошую безопасность в сравнении с CGI.

PHP как Apache модуль

Для того, что бы указать Apache на использование SAPI модуля PHP для вызова и обработки всех .php файлов, необходимо в главном конфигурационном файле WEB сервера Apache httpd.conf дописать нижеследующие строки, которые можно разместить, например, поле блока директив подключения модулей Apache.

  • LoadModule директива загружает SAPI модуль Apache, через который и будет вызываться PHP;
  • AddType директива ассоциирует указанный ( application/x-httpd-php ) MIME тип с файлами расширения .php;
  • PHPIn > пути в директивах должны иметь прямые слеши и не содержать пробелов. Желательно использовать только EN символы и цифры.

PHP как FastCGI/CGI с Apache

Что бы настроить Apache для работы с PHP через FastCGI/CGI необходимо добавить в httpd.conf настройки, разрешающие выполнение CGI программ.

Apache предоставляет несколько вариантов настройки внешних CGI обработчиков:

  • директива Action модуля mod_actions, которая напрямую активирует исполнение скрипта как внешней CGI программы и позволяет назначить MIME типу CGI обработчик;
  • директивы AddHandler или SetHandler, которые позволяют установить обработчик для файлов с расширениями, которые планируются обрабатываться как CGI программа. Затем, этому обработчику нужно будет директивой Action назначить CGI исполняемый файл бинарник php-cgi.exe. Так же, директива Options+ExecCGI позволяет разрешить выполнения CGI программ в указанном каталоге;
  • ScriptAlias директива, которая позволяет связать URL с каталогом файловой системы и назначить исполнение запрошенного файла как CGI программы. Эта директива используется в сочетании с другими директивами;
  • сочетание нескольких директив и подходов позволяет в Apache выполнить и более сложную, комбинированную на разных уровнях конфигурации (глобальном, сайта, каталога) настройку для CGI, когда только часть сайтов (виртуальных хостов) или отдельных каталогов будут обрабатываться через CGI, а остальные скрипты будут вызваться через SAPI модуль PHP. Но любом случае, всегда нужно будет задать через директиву AddTypeMIME тип или через директивы AddHandler, SetHandler обработчик, ассоциированный с файлами расширений, которые будут обрабатываться через CGI/FastCGI и назначить этому MIME типу/обработчику директивой Action файл-бинарник php-cgi.exe.

Чтобы настроить Apache для обработки всех PHP файлов через FastCGI/CGI интерфейсы необходимо в httpd.conf конфиге Apache добавить нижеследующие строки:

  • AddType директива связывает указанный MIME тип с файлами расширения .php;
  • Action директива задет внешний CGI обработчик для MIME типа ассоциированного с .php файлами;
  • SetEnv директива задает переменную окружения PHPRC, в значении которой указывается путь к каталогу инсталяции PHP. В примере это «Z:/WebDevelopment/PHP»

После этой настройки Apache будет все PHP файлы обрабатывать как внешние CGI программы через FastCGI/CGI бинарник php-cgi.exe.

ШАГ 6 настройка виртуального хоста Apache

После настройки работы PHP с Apache как модуля SAPI целесообразно выполнить настройку виртуального хоста для каталога сайта, который будет обслуживаться WEB сервером и PHP. Настройка виртуального хоста для сайта уже относиться исключительно к настройке WEB сервера Apache и приводится здесь для целостности понимания организации собственного разработческого WinAMP веб сервера на Windows для разработки и тестирования скриптов и сайтов, работающих на PHP в связке и Apache.

Об установки других компонентов Win+AMP сборки написано в статьях:

Создание и настройка виртуального хоста Apache2.4

Все примеры статьи и скринкаста по настройке виртуального хоста будут приведены для сборки Apache 2.4.23 x64 от Apache Haus, инсталляция которого описана в статье: Установка Apache на Windows,

  • Z:\WebDevelopment\Apache24 это ServerRoot — домашний каталог Apache2.4;
  • Z:\WebDevelopment\Apache24\conf\httpd.conf — главный конфиг данной инсталяции Apache2.4;
  • Z:\WebDevelopment\Apache24\conf\extra\httpd-vhosts.conf — конфиг для настройки виртуальных хостов в Apache2.4 на Windows.

Файл hosts

Файл hosts — это обычный текстовый локальный файл без расширения, в котором настраивается соответствие доменных имен сетевым IP адресам узлов. Таким образом, файл hosts — это простой вариант локального DNS и запрос к этому файлу выполняется в первую очередь, а запрос к внешним DNS серверам выполняется уже во вторую очередь.

В примере статьи и скринкаста виртуальный хост будет настраиваться для сайта из каталога «Z:\WebDevelopment\Projects\Site1» и тестового домена text.ru для этого сайта. Для того, чтобы браузер на вашем компьютере открывал этот локальный сайт по доменному имени text.ru необходимо в файл C:\WINDOWS\system32\drivers\etc\hosts добавить соответствующий этому домену IP адрес как 127.0.0.1 — локальных хост.

Файл httpd-vhosts.conf

В Apache2.4 настройка конфигурации виртуальных хостов вынесена в отдельный файл конфигурации: conf\extra\httpd-vhosts.conf относительно домашней директории веб сервера. Это сделано для удобства, чтобы не писать все в главном конфиге Apache2.4. Поэтому принято логически связанные блоки конфигурации веб сервера выносить в отдельные специализированные файлы конфигурации (смотри обзор конфигурации Apache в Ubuntu), которые подключаются в главном конфиге Apache при помощи директивы Include. Следуя этой логике, конфигурация виртуальных хостов вынесена в отдельный файл с именем conf\extra\httpd-vhosts.conf, а в главном конфиге Apache в секции с комментарием «Virtual hosts» выполнено подключение этого конфига:

Найдите в главном конфиге Apache conf\httpd.conf приведенный выше блок кода и убедитесь, что директива Include для httpd-vhosts.conf файла не закомментирована. По умолчанию она закомментирована, поэтому раскомментируйте ее для того, чтобы при старте Apache файл с конфигурацией виртуальных хостов был прочитан и добавлен в конфигурацию веб сервера.

директива Apache

Для создания и управления виртуальными хотами в Apache используется директива . , которая создает контейнер для директив, применимых только к указанному в VirtualHost hostname или IP адресу. Это позволяет на одном компьютере для одного и того же IP/hostname назначить разные сайты, разделив их по значению директивы ServerName, указав в ней разные доменные имена сайтов для разных виртуальных хостов.

Общий вид директивы :

В открывающем теге директивы VirtualHost addr [ :port ] [ addr [ :port ]] . > можно указать:

  • IP адрес, с которым будет ассоциирован данный виртуальный хост. Это IP одного из сетевых интерфейсов данного сервера/компьютера. Например, будет применяться к локальному сетевому интерфейсу (сетевому адаптеру) данного сервера;
  • FQDN (Fully Qualified Domain Name) — полное доменное имя одного из сетевых интерфейсов данного сервера/компьютера вместо его IP адреса, с которым будет ассоциирован данный виртуальный хост. Например, . Здесь нужно понимать, что указанный домен должен быть связан с IP адресом одного из сетевых интерфейсов данного сервера/компьютера. Однако, предпочтительно все же указывать именноIP адрес, а не доменное имя, т.к. при указании доменного имени Apache должен будет все равно определить его IP, а это требует уверенности, что все настройки DNS сделаны правильно. Также расходуется время на дополнительную операцию по получению IP адреса для доменного имени. Поэтому, при настройках, обычно предпочитают указывать именно IP адрес;
  • можно, опционально, указать порт для адреса, например ;
  • можно указать несколько addr [ :port ] [ addr [ :port ]] значений, например, ;
  • можно использовать для задания IPадреса символ подстановки *звездочку, которая будет означать любое значение. Звездочкой можно заменять толькоIPадрес. Например, будет применен для всех IP интерфейсов данного сервера;
  • вместо * звездочки можно использовать строку _default_, которая, в данном случае, является алиасом звездочки. Например, будет равносильно .

После того, как выполнено подключения конфига виртуальных хостов в главном конфиге Apache, необходимо открыть файл conf\extra\httpd-vhosts.conf на редактирование, перейти в его конец и добавить новый блок кода для нужного виртуального хоста (в примере для test.ru). Для подсказки можно пользоваться приведенными в конце этого файла закомментированными заготовками кода для создания виртуальных хостов.

VirtualHost _default_

Обязательно первым, в списке виртуальных хостов, должен быть указан виртуальный хост по умолчанию как: или . Это связано с тем, что если Apache не найдет виртуального хоста, сопоставимого по параметру ServerName с доменом URL запроса, то в этом случае Apache отдаст первый из списка виртуальный хост. Поэтому позаботьтесь, чтобы первый, в списке виртуальных хостов, хост был правильно настроен и отдавал нужную вам страницу. Именно поэтому первым всегда записывают, так называемый, дефолтовый хост. Если настройка виртуальных хостов вынесена в отдельные файлы, где для каждого виртуального хоста имеется свой конфигурационный файл, то Apache будет читать эти файлы согласно порядку их подключения в своем главном конфиге. И если подключение выполнено через подключение директории с конфигами виртуальных хостов, то Apache будет читать эти конфиги виртуальных хостов согласно алфавитному порядку файлов в директории. Поэтому, всегда нужно обращать внимание, в какой последовательности Apache прочитает конфигурацию виртуальных хостов, т.к. если он не найдет для запроса соответствующего виртуального хоста, то он отдаст первый прочитанный виртуальный хост. Поэтому, если подключают конфиги виртуальных хостов сразу целой директорией, то в этой директории создают файл с именем 000-default-vhosts.conf, в котором задают виртуальный хост по умолчанию. Имя файла специально начинается с 000, что бы этот файл был первым в алфавитном порядке, и соответственно был первым прочитан Apache.

Блок кода из файла httpd-vhosts.conf, где продемонстрирована простая, минимальная, начальная настройка виртуальных хостов для сайта test.ru из примера статьи и скринкаста:

Команды проверки конфигурации виртуальных хостов Apache

Для проверки конфигурации виртуальных хостов Apache предоставляет специальные команды, которые выводят в терминале информацию о том, как Apache обработал файл конфигурации виртуальных хостов.

Для Linux
Для Windows

Теперь, после настроек виртуальных хостов (дефолтового и test.ru) и добавления домена test.ru в hosts файл можно запустить Apache и обратиться в браузере к сайту примера из каталога Z:\WebDevelopment\Projects\Site1 по URL http://test.ru или http://test.ru/index.php.

Использование несколько версий PHP

Если вам требуется использовать несколько версий PHP, обслуживаемых одним web сервером Apache, то вам необходимо выполнить установку в систему как описано выше нескольких, нужных вам версий PHP, например PHP 7.2 и PHP 5.6, использовав для каждой из версий свой каталог. После этого вы можете в конфигурационном файле вашего Apache указать подключение нужной версии PHP. Тогда для смены версии PHP вам нужно будет остановить web сервер Apache, открыть его конфиг и сделать правки подключения PHP указав путь к нужной вам в данный момент версии PHP. Можно для этого заранее сделать в конфиге Apache заготовленные блоки подключения для каждой версии PHP, но держать их закомментированными, а активной только один блок, используемый в данный момент. Это будет такой простой ручной особ смены версий PHP.

Если вы хотите эти операции по смене версии PHP автоматизировать, то можно использовать такой вариант, когда инсталлировать ваш Apache как системную службу Windows, но сделать это для каждой версии PHP. Для этого нужно будет создать несколько полноценных конфигов Apache, в каждом подключив нужную версию PHP. После этого инсталлируем Apache с разными конфигами как системные службы:

После этого нужно созданные службы настроить так, что бы автостарт был только у одной, или вообще, что бы все службы имели только ручной запуск, что бы не получить ситуацию, когда система будет пытаться запустить одновременно несколько служб Apache с разными конфигами и получится конфликт. В данный момент времени должна быть запущена только одна служба Apache. Детали по настройке Apache как службы Windows смотрите в статье: Установка Apache на Windows.

ШАГ 7 FTP EMAIL

На этом установку PHP на Windows и базовую настройку Apache для запуска PHP скриптов можно считать законченной. Все описанное ниже является не обязательным и приведено в качестве дополнения. Можно добавить MySQL, GULP, FTP и EMAIL, что бы получить полноценный разработческий WAMP сервер на Windows. Ссылки на установку MySQL и GULP были приведены выше.

EMAIL

В качестве тестового EMAIL сервера для перехвата email сообщений, отправленных из PHP, можно порекомендовать старенький инструмент от набора Denwer, который представляет собой заглушку-эмулятор sendmail сервера. Этот инструмент слушает 25 порт и перехватывает email сообщения отправленные из PHP, и складывает их в локальный каталог, который настроен в конфиге скрипта. Это позволит вам локально выполнять тестирование отправки почты из PHP.

Структура каталогов инструмента из набора Denwer для перехвата email из PHP:

FTP сервер для Windows

Если необходимо работать в PHP с функциями FTP, то тогда нужно установить дополнительно FTP сервер. Для разработки и тестирования в качестве FTP сервера для Windows можно порекомендовать: «Baby FTP Server» .

Дополнения и инструменты PHP

deplister.exe

В составе данной сборки PHP7 присутствует утилита командной строки с именем файла deplister.exe. Эта утилита предназначена для определения зависимостей модулей PHP. Если вызвать эту утилиту в командной строке и передать ей в виде аргумента файл модуля PHP, то будет выдан список файлов-зависимостей для этого модуля и результат проверки их на соответствие этому модулю. Таки образом, данная утилита может быть полезна для поиска проблем в работе подключаемых модулей PHP. Обычно, для модулей поставляемых в составе одной сборки PHP проблем не возникает, но они могут быть при добавлении отдельно скачанных модулей PHP. Здесь эта утилита может и пригодиться.

Пример работы утилиты deplister.exe для модуля PHP:

Отладчик phpdbg

В состав дистрибутива PHP включен файл phpdbg.exe и php7phpdbg.dll, который является легким, мощным, простым в использовании интерактивным отладчиком для PHP скриптов. Будучи реализованным и как модуль SAPI (php7phpdbg.dll), phpdbg может осуществлять полный контроль над окружением, не оказывая влияния на функциональность и производительность PHP кода.

Отладчик phpdbg предоставляет следующие возможности для отладки PHP скриптов:

  • Пошаговая отладка;
  • Гибкое размещение точек останова в методах класса, в функциях, в строках файла, Address, Opcode;
  • Легкий доступ к PHP со встроенным Eval ();
  • Легкий доступ к выполняемому в данный момент коду;
  • Userland API;
  • SAPI Agnostic — Легко Интегрированный;
  • Поддержка файлов PHP конфигурации;
  • JIT Super Globals — установить свой собственный;
  • Optional readline Support — удобно в терминале;
  • Remote Debugging Support — GUI Java;
  • Простое управление отладчиком

PECL extensions

PHP дистрибутив содержит основные необходимые расширения PHP. Однако, может возникнуть потребность установить дополнительные расширения и модули, отсутствующие в данном дистрибутиве. Для расширений PHP существует PECL репозиторий , доступный через PEAR пакетный менеджер и напрямую, в браузере. Поэтому, дополнительные модули и библиотеки PHP под Windows можно скачать на php.net и pecl.php.net, где можно найти скомпилированные бинарники нужной библиотеки как .dll файла. Скачанную библиотеку или модуль нужно поместить в директорию для расширений PHP на Windows (PHP/ext). Затем, добавленное расширение нужно подключить в файле php.ini как extension=php_extname.dll и перезапустить WEB сервер для вступления изменений с силу.

Скринкаст: Установка PHP7 на Windows

В скринкасте продемонстрирована инсталляция и настройка PHP 7.1.0 php-7.1.0-Win32-VC14-x64 на Windows7, интеграция с Apache. Показы все основные шаги — выбор сборки дистрибутива PHP, размещение PHP в Windows7, обзор состава дистрибутива PHP, настройка PHP, работа с PHP из командной строки, использование встроенного в PHP WEB сервера, настройка работы PHP как модуля Apache, настройка виртуального хоста в Apache. Дополнительно даны примеры и ссылки по самостоятельной организации WinAMP сборки. В конце добавлена информация о новшествах PHP7 и перспективах развития языка PHP.

источник

Добавить комментарий

Adblock
detector