Главная
  PHP
Сервер Apache
  Perl
Контакты


Главная

 php    PHP 7 для Windows
установка PHP на вашем ПК разработки позволяет безопасно создавать и тестировать веб-приложение, не затрагивая данные или системы на вашем веб-сайте.

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

Apache


PHP поддерживает множество современных веб-серверов, например, Apache, IIS (Microsoft Internet Information Server), Netscape, Personal Web Server, iPlanet, Oreilly Website Pro, Caudium, Xitami, OmniHTTPd. Для большинства из них PHP исполняется как модуль - Apache (SAPI) или CGI-программа на стороне сервера.
Apache
Устанавить веб-сервер Apache с поддержкой PHP на операционной системе Windows не сложно.
Используйте сборки Apache, предоставляемые Apache Lounge.

  php    Установка PHP в системах Windows.

Ручная установка PHP - это лучший выбор для получения безопасной и оптимизированной системы.

Установка PHP в современных операционных системах Microsoft Windows и рекомендуемая конфигурация для распространенных веб-серверов.

Скачать PHP.

Если вы на 64-разрядную операционную систему установили HTTP-сервер Apache Version 2.4 Win64 , то и PHP и Visual C++ Redistributable (x64) должны быть 64-разрядными.

Зайдите на страницу загрузки официального сайта —   PHP Downloads
и нажмите Windows downloads

Current Stable PHP 7.2.2

  • php-7.2.2.tar.bz2 [14,275Kb] 01 Feb 2018
  • php-7.2.2.tar.gz [17,860Kb] 01 Feb 2018
  • php-7.2.2.tar.xz [11,741Kb] 01 Feb 2018
  • Windows downloads

IIS

Если вы используете PHP в качестве FastCGI с IIS, вы должны использовать версии Non-Thread Safe (NTS) для PHP.

Apache

используйте сборки Apache, предоставляемые Apache Lounge. Они предоставляют сборки VC11, VC14 и VC15 для Apache x86 и x64.

VC11, VC14 и VC15

Более свежие версии PHP построены с помощью VC11, VC14 или VC15
(компилятор Visual Studio 2012, 2015 или 2017 соответственно)
и включают улучшения в производительности и стабильности.
С Apache вы должны использовать версии Thread Safe (TS) для PHP.

TS и NTS

TS относится к многопоточным конструкциям. NTS ссылается только на один поток. Вариант использования двоичных файлов TS включает взаимодействие с многопоточным SAPI и PHP, загружаемым как модуль, в веб-сервер.
Для двоичных файлов NTS широко распространенным случаем является взаимодействие с веб-сервером через протокол FastCGI, без использования многопоточности (но также, например, CLI).

Выберите сборку
Итак, есть 2 типа сборок PHP:

  1. Thread-Safe(TS) - для одного процесса веб-служб, как Apache с mod_php
  2. Non-Thread-Safe(NTS) - для служб IIS и других FastCGI веб-серверов (Apache с mod_fastcgi) рекомендуется и для сценариев командной строки

На странице — PHP For Windows: Binaries and sources Releases
скачайте архив нужной вам версии PHP для Windows: PHP 5.x / 7.x
(x - последний стабильный номер версии)
например, php-7.2.2-ts-Win32-VC15-x64.zip,
выбрав в VC15 x64 Thread Safe — Zip

VC15 x64 Thread Safe (2018-Jan-31 23:18:33)

  • Zip [24.42MB]
  • Debug Pack [22.42MB]

Загрузите Thread Safe, если вам нужно запустить PHP в качестве модуля.
Можно установить PHP как модуль, но доказано, что лучше устанавливать PHP поверх mod_fcgid (fastcgi, best practice)
VC15 x64 Thread Safe (2018-Jan-31 23:18:51)

  • Zip [24.56MB]
  • Debug Pack [22.56MB]

  Установка PHP в Windows 10
Примечание. PHP можно установить в любом месте вашей системы, заменив буквы дисков и имена папок, но вам нужно будет изменить пути, указанные в следующих шагах.

Извлеките содержимое ZIP-файла - php-7.2.2-ts-Win32-VC15-x64.zip
и перепишите в, предварительно созданный на диске C:/, каталог - php7 (C:/php7/).

#


  Настройка PHP

Файлы php.ini в версии PHP7 переименованы:
php.ini-development содержит настройки, рекомендуемые для использования при разработке.
php.ini-production содержит настройки, рекомендуемые при производственной эксплуатации.

Откройте в программе "Блокнот" один из файлов php.ini-production или php.ini-development.

#

и сохраните его как php.ini

#

Перейдите в папку PHP7 и отредактируйте файл php.ini.
Найдите директиву extension_dir

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
; extension_dir = "ext"    
     

и измените её, введя полный путь к каталогу ext, в котором находятся загружаемые расширения (модули)

    
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "c:\php7\ext\"    
     
Удалите знак комментария " ; "

Убедитесь, что вы можете запустить PHP из командной строки Windows
введя - cd c:/php7/ и, затем - php -v

Администратор: Командная строка

Microsoft Windows [Version 10.0.14393]
(c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.

C:\Windows\system32>cd c:/php7/

c:\php7>php -v
PHP 7.2.2 (cli) (built: Jan 31 2018 19:31:15) ( NTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

c:\php7>  
  

Список загруженных модулей - php -m

Администратор: Командная строка


Microsoft Windows [Version 10.0.14393]
(c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.

C:\Windows\system32>cd c:/php7/

c:\php7>php -m
[PHP Modules]
bcmath     calendar   Core       ctype    date     dom       filter   hash
iconv      json       libxml     mysqlnd  pcre     PDO       Phar     readline
Reflection session    SimpleXML  SPL      standard tokenizer wddx     xml
xmlreader  xmlwriter  zip        zlib

[Zend Modules]

c:\php7> 
  

PHP: Изменения в файле - php.ini

Включить расширения. Это будет зависеть от библиотек, которые вы хотите использовать, но следующие расширения должны быть пригодны для большинства приложений (удалите комментария - точку с запятой):

extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll

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

PHP работа с консолью - выполнить скрипт php из консоли

Чтобы передать PHP-код напрямую в командной строке,
введите - cd c:/php7/, затем - php -r phpinfo();

Администратор: Командная строка

Microsoft Windows [Version 10.0.14393]
(c) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.

C:\Windows\system32>cd c:/php7/

c:\php7>php -r phpinfo();
phpinfo()
PHP Version => 7.2.2

System => Windows NT COMPUTER 10.0 build 14393 (Windows 10) AMD64
Build Date => Jan 31 2018 19:25:43
Compiler => MSVC15 (Visual C++ 2017)
Architecture => x64
Configure Command => cscript /nologo configure.js  
"--enable-snapshot-build" 
"--enable-debug-pack" 
"--with-pdo-oci=c:\php-snap-build\deps_aux\oracle\x64\instantclient_12_1\sdk,shared" 
"--with-oci8-12c=c:\php-snap-build\deps_aux\oracle\x64\instantclient_12_1\sdk,shared" 
"--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" 
"--without-analyzer" "--with-pgo"
Server API => Command Line Interface
Virtual Directory Support => enabled
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => C:\php7\php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
PHP API => 20170718
PHP Extension => 20170718
Zend Extension => 320170718
Zend Extension Build => API320170718,TS,VC15
PHP Extension Build => API20170718,TS,VC15
Debug Build => no
Thread Safety => enabled
Zend Signal Handling => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
DTrace Support => disabled

Registered PHP Streams => php, file, glob, data, http, ftp, zip, 
compress.zlib, phar
Registered Stream Socket Transports => tcp, udp
Registered Stream Filters => convert.iconv.*, string.rot13, 
string.toupper, string.tolower, string.strip_tags, convert.*, 
consumed, dechunk, zlib.*

This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

...
...
...
 _______________________________________________________________________
PHP License
This program is free software; you can redistribute it and/or modify
it under the terms of the PHP License as published by the PHP Group
and included in the distribution in the file:  LICENSE

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any
questions about PHP licensing, please contact license@php.net.

c:\php7> 

Выполнение PHP-файлов

Страница, содержащая код PHP, должна иметь расширение  —  php.

Создайте файл с именем phpinfo.php, добавьте в него этот код:

<?php phpinfo(); ?>

И сохраните его в корне диска C:/

Указание конкретного файла для запуска.
введите - cd c:/php7/
затем - php C:/phpinfo.php или - php -f C:/phpinfo.php
И вы получите такой-же результат, что приведён выше.


Ключевые изменения, внесенные в PHP

Добавлены следующие INI-директивы:

  • user_ini.filename и user_ini.cache_ttl для контроля пользовательских INI-файлов.
  • Добавлена директива exit_on_timeout. Она служит для принудительного завершения дочерних процессов Apache 1.x в случае тайм-аута при выполнении PHP-кода.
  • Добавлена директива mbstring.http_output_conv_mimetype. Она указывает шаблон регулярного выражения для типов контента, для которых активируется функция mb_output_handler().
  • Добавлена request_order. Позволяет контролировать, какая внешняя переменная будет доступна в массиве $_REQUEST.

Следующие INI-директивы получили новые значения по умолчанию:


Сервер Apache2.4. PHP 7
Редактирование файла конфигурации Apache - httpd.conf для работы PHP на Windows

Для установки PHP как модуля Apache2.4

Откройте файл - httpd.conf (C:/Program Files/Apache Software Foundation/Apache2.4/conf/) и добавьте в него, после длинного списка директив LoadModule следующие записи:

Для Apache 2.4

# PHP7 module
LoadModule php7_module "c:/php7/php7apache2_4.dll" 
AddHandler application/x-httpd-php .php 
# configure the path to php.ini 
PHPIniDir "c:/php7"

Файл httpd.conf

#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule xml2enc_module modules/mod_xml2enc.so
# PHP7 module
LoadModule php7_module "c:/php7/php7apache2_4.dll" 
AddHandler application/x-httpd-php .php 
# configure the path to php.ini 
PHPIniDir "c:/php7"

<IfModule unixd_module>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# It is usually good practice to create a dedicated user and group for
# running httpd, as with most system services.
#
User daemon
Group daemon
</IfModule>

Сохраните файл httpd.conf. Перезапустите Apache.

После перезапуска сервера Apache

К службе Apache/2.4.4 (Win64) будет добавлена запись - PHP/7.2.2