Документация
PHP
В Winginx встроен PHP 5.6 и 7.1. Чтобы скрипты обрабатывались как PHP, файлам нужно присвоить расширение .php: например, script.php.
Индексным файлом для PHP-скриптов является index.php.
PHP-расширения, предустановленные в Winginx: GD2, cURL, mbstring, iconv, zlib, bzip2, zip, rar, mysql, sockets, exif, gettext, soap, xmlrpc, xsl, sqlite, mongo, memcache.
Для управления настройками PHP с версии 0.3.0 появилась утилита Winginx PHP 5/7 Config, с помощью которой можно легко установить нужные параметры, включать и отключать PHP-расширения, в том числе Zend Guard Loader (Zend Optimizer), Xdebug и ionCube, входящие в стандартный пакет Winginx.
Предустановленные параметры в конфиге php.ini (winginx\php71\php.ini)
- memory_limit = 128M
- max_execution_time = 120
- max_input_time = 60
- post_max_size = 50M
- upload_max_filesize = 40M
- file_uploads = On
- upload_tmp_dir = temp/php/upload
- date.timezone = Europe/Moscow
- session.use_cookies = 1
- session.name = PHPSESSID
- default_socket_timeout = 60
- short_open_tag = On
- asp_tags = Off
- allow_call_time_pass_reference = Off
- error_reporting = E_ALL & ~E_NOTICE
- display_errors = On
- html_errors = Off
- log_errors = Off
- error_log = error.log
- safe_mode = Off
- register_globals = Off
- register_long_arrays = Off
- variables_order = EGPCS
- magic_quotes_gpc = Off
- magic_quotes_runtime = Off
- magic_quotes_sybase = Off
- allow_url_fopen = On
- allow_url_include = Off
Изменение настроек PHP для отдельных сайтов
В веб-сервере Apache существует возможность задания индивидуальных параметров PHP через файл дополнительной конфигурации .htaccess. Это клево! Но такие файлы совсем бесполезны в nginx :)
С одной стороны — это проблема, с другой стороны — решение есть, просто по началу может показаться непривычным для тех, кто работал с Apache.
Итак. Настроить PHP можно через специальный файл .user.ini, который необходимо разместить в домашней (корневой) директории вашего сайта, например так: winginx\home\localhost\public_html\.user.ini.
В этом файле можно размещать настройки аналогично синтаксису файла php.ini. Пример:
memory_limit = 1024M post_max_size = 500M date.timezone = Asia/Irkutsk
Для настройки отдельных проектов (сайтов) рекомендуется менять параметры именно в файле .user.ini, а не в winginx\php5\php.ini.
Изменения внесенные в файл .user.ini вступают в силу сразу же, перезапускать сервер или PHP не нужно.
На заметку! Таким способом можно конфигурировать PHP и в Apache, не прибегая к использованию .htaccess, если PHP в нем установлен как CGI/FastCGI.
При создании сайта через Winginx TM можно задать некоторые особые настройки PHP на специальной вкладке. В дальнейшем можно редактировать эти параметры через редактирование .user.ini в корневой директории созданного сайта.
Рекомендуемые ресурсы по PHP
PHP.NET — Официальный сайт PHP
PHP.SU — Портал по PHP, MySQL
PROJECT.NET.RU — Учебники и статьи по PHP