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


Главная

  PHP 7 для Windows

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


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

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

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

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

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

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).

...
IIS

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

Last updated 3 mins ago

...
Apache

С сервером Apache вы должны использовать версии PHP Thread Safe (TS).

Last updated 3 mins ago


 Скачать PHP 7

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

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

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

PHP 7.3 (7.3.8)

VC15 x64 Thread Safe (2019-Jul-30 16:05:58)

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


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

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

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

#


  Настройка PHP

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

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

#

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

#

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

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

#

Найдите директиву
; On windows: 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\"    
Удалите знак комментария " ; "

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

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

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename
;
; For example:
;
;   extension=mysqli
;
; When the extension library to load is not located in the default extension
; directory, You may specify an absolute path to the library file:
;
;   extension=/path/to/extension/mysqli.so
;
; Note : The syntax used in previous PHP versions ('extension=<ext>.so' and
; 'extension='php_<ext>.dll') is supported for legacy reasons and may be
; deprecated in a future PHP major version. So, when it is possible, please
; move to the new ('extension=<ext>) syntax.
;
; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
extension=curl
;extension=fileinfo
extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp

;extension=soap
;extension=sockets
;extension=sodium
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl
 

  Как добавить каталог PHP 7 в PATH (Переменные среды) ОС Windows?

В Windows 7, XP, Vista, 2008, 2012 и выше:
  • Старт Панель управления Все элементы панели управления Система

    Дополнительные параметры системы

  • На вкладке 'Свойства системы'
  • Нажмите кнопку 'Переменные среды'

  • В разделе 'Системные Переменные'
  • Найдите строку, содержащую переменную PATH
    Дважды щелкните на ней мышью

  • В Изменить переменную среды нажмите на кнопку Создать
  • Допишите в конец строки путь к каталогу PHP 7 - C:\php7\

  • Нажмите OK

  • Сохраните изменения и перезагрузите компьютер.

Панель управления - Все элементы панели управления - Система

Нажмите на ссылку - Дополнительные параметры системы.

#

В окне диалога - Свойства системы нажмите кнопку - Переменные среды.

#

В окне - Переменные среды выделите строку Path и нажмите кнопку - Изменить.

#

Нжмите на кнопку Создать

#

Введите путь к каталогу PHP 7 - C:\php7\

#

Добавлена переменная среды - путь к каталогу PHP 7 - C:\php7\

#

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

В некоторых устаревших руководствах PHP предлагается поместить исполняемые файлы в системный каталог Windows потому, что (C:\Windows, C:\WINNT, и т.д..) по умолчанию заданы в переменной окружения PATH. Но на данный момент это не рекомендуется, поскольку может вызвать разнообразные проблемы.


Убедитесь, что вы можете запустить 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.3.8 (cli) (built: Jul 30 2019 12:44:06) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.8, 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 работа с консолью - выполнить скрипт 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> 

Если запустить Apache
   
(OS 10048)╬с√ўэю ЁрчЁх°рхЄё  Єюы№ъю юфэю шёяюы№чютрэшх рфЁхёр ёюъхЄр (яЁюЄюъюы/ёхЄхтющ рфЁхё/яюЁЄ).  : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)╬с√ўэю ЁрчЁх°рхЄё  Єюы№ъю юфэю шёяюы№чютрэшх рфЁхёр ёюъхЄр (яЁюЄюъюы/ёхЄхтющ рфЁхё/яюЁЄ).  : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
Note the errors or messages above, and press the <ESC> key to exit.  22...
   
(OS 10048)Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт).  : AH00072: make_sock: could not bind to address [::]:80
(OS 10048)Обычно разрешается только одно использование адреса сокета (протокол/сетевой адрес/порт).  : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: нет доступных гнезд для прослушивания, отключение
AH00015: Невозможно открыть логи

В файле error.log

 
 PHP Warning:  PHP Startup: Unable to load dynamic library 'curl' (tried: c:\\php7\\ext\\curl (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.), c:\\php7\\ext\\php_curl.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.)) in Unknown on line 0
[Sat Aug 10 08:26:42.124029 2019] [mpm_winnt:notice] [pid 1840:tid 736] AH00455: Apache/2.4.4 (Win64) PHP/7.3.8 configured -- resuming normal operations
[Sat Aug 10 08:26:42.124029 2019] [mpm_winnt:notice] [pid 1840:tid 736] AH00456: Server built: Mar  1 2013 05:14:29
[Sat Aug 10 08:26:42.124029 2019] [core:notice] [pid 1840:tid 736] AH00094: Command line: 'C:\\Program Files\\Apache Software Foundation\\Apache2.4\\bin\\httpd.exe -d C:/Program Files/Apache Software Foundation/Apache2.4 -f C:\\Program Files\\Apache Software Foundation\\Apache2.4\\conf\\httpd.conf -d C:\\Program Files\\Apache Software Foundation\\Apache2.4\\.'
[Sat Aug 10 08:26:42.125031 2019] [mpm_winnt:notice] [pid 1840:tid 736] AH00418: Parent: Created child process 1084
PHP Warning:  PHP Startup: Unable to load dynamic library 'curl' (tried: c:\\php7\\ext\\curl (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.), c:\\php7\\ext\\php_curl.dll (\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.)) in Unknown on line 0
[Sat Aug 10 08:26:42.382095 2019] [mpm_winnt:notice] [pid 1084:tid 692] AH00354: Child: Starting 64 worker threads.  
   
   
   

Выполнение 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-директивы получили новые значения по умолчанию:

  • session.use_only_cookies теперь установлена в "1" (включено) по умолчанию.
  • oci8.default_prefetch изменено с "10" на "100".

Вывод из phpinfo.php


PHP Version 7.3.8

System Windows NT COMPUTER 6.2 build 9200 (Windows 8) AMD64
Build Date Jul 30 2019 12:36:37
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 Apache 2.0 Handler
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 20180731
PHP Extension 20180731
Zend Extension 320180731
Zend Extension Build API320180731,TS,VC15
PHP Extension Build API20180731,TS,VC15
Debug Build no
Thread Safety enabled
Thread API Windows Threads
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.*
Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v3.3.8, Copyright (c) 1998-2018 Zend Technologies