Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настройка php 7

PHP 7 – настройка файла PHP.INI

Конфигурационный файл php.ini является основным инструментом настройки ядра PHP . Он считается каждый раз при инициализации PHP . Если изменение не отображается, не забудьте остановить и перезапустить httpd . Если внесенные изменения до сих пор действуют, используйте функцию phpinfo() , чтобы проверить, php ini где лежит.

Файл конфигурации хорошо прокомментирован и подробно проработан. Параметры чувствительны к регистру, значения ключевых слов – нет; пробелы и строки, начинающиеся с точки с запятой, игнорируются. Логические значения могут быть представлены как 1/0 , Yes/No , On/Off или True/False . Значения по умолчанию в php.ini повлияют на установку PHP , которую позже можно будет настроить.

В этой статье мы рассмотрим важные настройки в файле php.ini , которые могут потребоваться для PHP парсера.

short_open_tag = Off

Короткие открытые теги выглядят так: . Для этого параметра должно быть установлено значение Off , если вы хотите использовать функции обработки XML .

safe_mode = Off

Если этот параметр имеет значение ON , вероятно, вы скомпилировали PHP с флагом enable-safe-mode . Безопасный режим наиболее важен для использования CGI .

safe_mode_exec_dir = [DIR]

Эта опция имеет значение только в том случае, если включен безопасный режим. Она также может быть установлена с флагом —with-exec-dir во время процесса сборки Unix . PHP в безопасном режиме выполняет внешние двоичные файлы только из этого каталога. По умолчанию используется каталог /usr/local/bin . Это не имеет ничего общего с обслуживанием обычной PHP/HTML веб-страницы.

safe_mode_allowed_env_vars = [PHP_]

Эта опция php ini задает, какие переменные окружения пользователи могут изменить в безопасном режиме. По умолчанию, только те переменные, к которым добавлено « PHP_ ». Если эта директива пуста, то большинство переменных можно изменять.

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

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

disable_functions = [function1, function2…]

Довольно полезным дополнением в конфигурации PHP4 , которое сохранилось и в версии PHP5 , является возможность отключения выбранных функций по соображениям безопасности. Раньше это требовало ручной правки кода на языке C , на котором был написан интерпретатор PHP . Функции файловой системы, операционной системы и сети должны быть первыми в этом списке, потому что возможность записи файлов и изменения системы через HTTP не является безопасным.

max_execution_time = 30

При настройке php ini нужно знать, что функция set_time_limit() не будет работать в безопасном режиме. Поэтому это основной способ реализовать задержку выполнения скрипта в безопасном режиме. В Windows вы должны выполнить принудительное завершение, основываясь на максимальном уровне потребляемой памяти, а не на времени. Также можно использовать настройку таймаута Apache для реализации задержки. Но она будет применена и к файлам сайта, не являющимся PHP .

error_reporting = E_ALL &

Значением по умолчанию является E_ALL &

E_NOTICE , все ошибки кроме уведомлений. Для серверов должно быть установлено, как минимум, значение по умолчанию. И только на основных серверах можно использовать меньшее значение.

error_prepend_string = [«»]

Вместе с error_append_string этот параметр позволяет выделить сообщения об ошибках другим цветом.

warn_plus_overloading = Off

Этот параметр выдает предупреждение, если оператор « + » используется со строками, как при формировании значения поля формы.

variables_order = EGPCS

Заменяет gpc_order . Обе версии устарели вместе с register_globals . Он устанавливает порядок различных переменных: Environment , GET , POST , COOKIE и SERVER ( или Built-in ). Вы можете изменить этот порядок. Переменные будут последовательно перезаписаны слева направо, при этом самый правый всегда « выигрывает ». Это означает, что если оставить значение по умолчанию и использовать одно имя для переменной среды, переменной POST и переменной COOKIE , то, в конце концов, имя будет принадлежать переменной COOKIE .

register_globals = Off

Этот параметр php ini set позволяет определить, нужно ли регистрировать переменные EGPCS как глобальные. В настоящее время этот способ устарел, и, начиная с PHP 4.2 , этот флаг по умолчанию установлен в значение Off . Вместо него используйте суперглобальные массивы.

gpc_order = GPC

Этот параметр устарел.

magic_quotes_gpc = On

Экранирует кавычки во входящих данных GET/POST/COOKIE . Если вы используете много форм, которые отправляют данные сами себе или другим формам, и отображают значения форм, нужно активировать эту директиву или использовать функции addslashes() для данных строкового типа.

magic_quotes_runtime = Off

Этот параметр экранирует кавычки во входящих строках базы данных и текстовых строках. Помните, что SQL добавляет слеш в одинарные кавычки и апострофы при сохранении строк и не убирает их при возвращении строк. Если этот параметр выключен, необходимо использовать функцию stripslashes() при выводе любых типов строковых данных из БД SQL . Если для magic_quotes_sybase установлено значение On , то этот параметр должен быть Off .

magic_quotes_sybase = Off

Экранирует одиночные кавычки во входящих строках базы данных и текстовых строках с одиночными кавычками в стиле Sybase , а не обратным слешем. Если для параметра magic_quotes_runtime установлено значение On , данный параметр должен быть отключен.

auto-prepend-file = [path/to/file]

Если в этом параметре php ini указан путь, PHP должен автоматически добавить конструкцию include() в начало каждого PHP-файла . Следует учитывать ограничения для путей включаемых файлов.

Читать еще:  Php printf примеры

auto-append-file = [path/to/file]

Если в этом параметре указан путь, PHP должен автоматически ввести конструкцию include() в конец каждого PHP-файла , кроме случаев, когда осуществляется выход с помощью функции exit () . Следует учитывать ограничения для путей включаемых файлов.

include_path = [DIR]

Если установить это значение, вам будет разрешено включать или запрашивать файлы только из указанных каталогов. Каталог include обычно находится под корневым документом. Это необходимо, если вы работаете в безопасном режиме. Установите для параметра значение .in , чтобы включить файлы из каталога, в котором находится ваш скрипт. Несколько каталогов разделяются двоеточиями: .:/usr/local/apache/htdocs:/usr/local/lib .

doc_root = [DIR]

При настройке php ini если вы используете Apache , то в файле httpd.conf корневой каталог документа для этого сервера или виртуального хоста уже задан. Установите это значение здесь, если используете безопасный режим или хотите разрешить PHP только для части сайта ( например, только в одном подкаталоге ).

file_uploads = [on/off]

Активируйте этот флаг, если загружаете файлы с помощью PHP-скрипта .

upload_tmp_dir = [DIR]

Не удаляйте комментарии из этой строки, если не понимаете, что такое HTTP-загрузка !

session.save-handler = files

За исключением редких случаев изменять этот параметр не нужно.

ignore_user_abort = [On/Off]

Определяет, что произойдет, если посетитель сайта нажмет в своем браузере кнопку « Остановить ». По умолчанию установлено значение On , которое означает, что скрипт продолжит работать до завершения или таймаута. Если изменить значение данного параметра на Off , скрипт будет прерван. Этот параметр работает только в режиме модуля, а не в CGI .

mysql.default_host = hostname

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

mysql.default_user = username

Этот параметр php ini задает имя пользователя по умолчанию, используемое при подключении к серверу базы данных, если другое имя не указано.

mysql.default_password = password

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

PHP на Windows и IIS7

Установка и настройка PHP для использования с модулем FastCGI.

Установка и настройка модуля FastCGI на IIS7.

Если у вас у IIS7, то что-то мне подсказывает о названии вашей операционной
системы — Windows Vista? Не угадал, тогда Windows Server 2008! Либо вы хакер и
поставили IIS7 еще-куда-то, но это нестандартное решение и мы его не
поддерживаем ;).
Шаг 1. Установка FastCGI
Хочу обрадовать сразу — в IIS7, идущем с Windows Server 2008 и Windows Vista
Service Pack 1 модуль FastCGI уже включен. Его необходимо лишь подключить в
настройках. Для этого на Vista нужно открыть Control Panel -> Programs и выбрать
«Turn Windows Features On or Off»:

После этого необходимо установить фичу в IIS: Internet Information Services
-> World Wide Web Services -> Application Development Features -> CGI. При этом
будет установлена поддержка и CGI и FastCGI.

На Windows Server 2008 процесс аналогичен: Server Manager -> Roles -> Add
Role Services -> Web Server -> Application Development -> CGI.
Собственно все, что требуется для включения модуля FastCGI.
Шаг 2. Конфигурация IIS7
1. Открыть IIS Manager, выбрать узел (сервер) для которого нужно настроить
поддержку PHP. И далее выбрать Handler Mappings.

2. Выбираем на странице Handler Mappings ссылку Add Module Mapping и
заполняем окно следующими значениями:
Request path: *.php (обработка всех файлов с расширением .php)
Module: FastCgiModule (модуль FastCGI)
Executable: C:WebPHPphp-cgi.exe (путь к PHP)
Name: PHP (имя для удобства)

После добавления этой настройки появится окно с вопросом о регистрации
FastCGI приложения для этого обработчика. Подтверждаем.
Описанные выше действия привели к созданию в директории PhpSites следующего
web.config файла:

xml version =«1.0» encoding =«UTF-8» ? >
configuration >
system.webServer >
handlers >
add name =«PHP» path =»*.php» verb =»*»
modules =«FastCgiModule» scriptProcessor =»C:WebPHPphp-cgi.exe»
resourceType =«Unspecified» />
handlers >
system.webServer >
configuration >
* This source code was highlighted with Source Code Highlighter .

Теперь можно переходить к проверке работоспособности PHP.
Шаг 3. Проверяем корректность настройки
В директории узла для которого мы сконфигурировали PHP создаем файл
index.php:

И обращаемся к этому файлу через HTTP запрос. В результате, если все хорошо и
наша карма не испорчена, запрос будет корректно обработан:

Рекомендации по настройке PHP на
IIS7

Частота перезапуска процессов PHP

Поскольку при использовании PHP на
IIS7 с использованием FastCGI
модуля, сам модуль FastCGI берет на себя
управление процессами и ресурсами, необходимо убедится, что механизм перезапуска
процессов (recycling) в PHP
не будет мешать FastCGI. Это легко сделать, если
настроить FastCGI так, чтобы он всегда перезапускал
процессы раньше, чем это сделает PHP.
В настройках FastCGI существует настройка
instanceMaxRequests, определяющая после обработки какого количества запросов,
процесс будет перезапущен. В PHP аналогичный параметр
задается значением переменной PHP_FCGI_MAX_REQUESTS. Очевидно, чтобы дать
возможность FastCGI рулить процессом, достаточно
установить instanceMaxRequests fastCgi >
application fullPath =»C:inetpubphpphp-cgi.exe»
maxInstances =«4» instanceMaxRequests =«10000» >
environmentVariables >
environmentVariable name =«PHP_FCGI_MAX_REQUESTS» value =«10000» >
environmentVariables >
application >
fastCgi >
* This source code was highlighted with Source Code Highlighter .

Читать еще:  Php environment variable

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

fastCgi >
application fullPath =«C:inetpubphpphp-cgi.exe» >
.
application >
application fullPath =«C:inetpubphp4php4.exe» >
.
application >
application fullPath =«C:inetpubphp41php41.exe» >
.
application >
fastCgi >
* This source code was highlighted with Source Code Highlighter .

handlers >
add name =«PHP4» path =»*.php» verb =»*» modules =«FastCgiModule»
scriptProcessor =»C:inetpubphpphp41.exe»
resourceType =«Unspecified» />
handlers >
* This source code was highlighted with Source Code Highlighter .

Установка php 7 в Linux

Php — популярный язык веб программирования и разработки сайтов. С каждой новой версией язык становился все интереснее и интереснее, начиналось все с простого функционально ориентированного языка программирования пригодного только для создания веб страничек, и наконец Php 5 сейчас позиционируется как полнофункциональный объективно ориентированный скриптовый язык. php 7 преподносит много интересных улучшений и исправлений таких как тотальная оптимизация производительности и добавление многопоточности но сегодня не об этом, обзоров возможностей php 7 вы можете найти вагон и маленькую тележку на просторах интернета.

В этой инструкции будет описана установка php 7 в Linux, она рассчитана в первую очередь на пользователей Ubuntu но подойдет и для других дистрибутивов. Мы рассмотрим установку из PPA в Ubuntu и сборку из исходников.

Установка php 7 из PPA в Ubuntu

Репозитории PPA позволяют сторонним разработчикам распространять пакеты своих программ в обход официальных репоизиториев Ubuntu. Обычно из PPA можно получить самые новые или даже бета версии программ. После официального релиза php 7 был сделан PPA для Ubuntu. Добавим его в систему:

$ sudo add-apt-repository ppa:ondrej/php-7.0

Дальше нужно обновить список пакетов:

sudo apt-get update

И можно устанавливать:

sudo apt-get install php7.0

Для поддержки mysql нужно установить библиотеку:

sudo apt-get install php7.0-mysql

Для установки php в виде модуля fpm выполните:

sudo apt-get install php7.0-fpm

Сборка php 7 из исходников

Сначала установим необходимые нам инструменты и библиотеки:

sudo apt-get install git autoconf bison libxml2 libxml2-dev opessllibcurl4-openssl-dev libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libmcrypt-dev libmysqld-dev libpspell-dev librecode-dev

Создадим рабочую папку:

Синхронизируем исходники php с репозитория git:

git clone https://git.php.net/repository/php-src.git

Переходим непосредственно к сборке и установке, программа будет установлена в текущую папку —

cd php-src
$ sudo ./buildconf
$ sudo ./configure
—enable-mbstring
—enable-zip
—enable-bcmath
—enable-pcntl
—enable-ftp
—enable-exif
—enable-calendar
—enable-sysvmsg
—enable-sysvsem
—enable-sysvshm
—enable-wddx
—with-curl
—with-mcrypt
—with-iconv
—with-gmp
—with-pspell
—with-gd
—with-jpeg-dir=/usr
—with-png-dir=/usr
—with-zlib-dir=/usr
—with-xpm-dir=/usr
—with-freetype-dir=/usr
—with-t1lib=/usr
—enable-gd-native-ttf
—enable-gd-jis-conv
—with-openssl
—with-mysql=/usr
—with-pdo-mysql=/usr
—with-gettext=/usr
—with-zlib=/usr
—with-bz2=/usr
—with-recode=/usr
—with-mysqli=/usr/bin/mysql_config
$ make

Создаем папку для конфигурационного файла:

Создаем конфигурационный файл php со следующим содержимым:

max_execution_time=600
memory_limit=128M
error_reporting=0
display_errors=0
log_errors=0
user_ini.filename=
realpath_cache_size=2M
cgi.check_shebang_line=0
zend_extension=opcache.so
opcache.enable_cli=1
opcache.save_comments=0
opcache.fast_shutdown=1
opcache.val > opcache.reval > opcache.use_cwd=1
opcache.max_accelerated_files=100000
opcache.max_wasted_percentage=5
opcache.memory_consumption=128
opcache.consistency_checks=0

Сохраните, и php 7 установлен и настроен, можно переходить к тестированию.

Установка PHP 7 в картинках и с подробным описанием

В предыдущих статьях мы писали о том, как создать локальный веб-сервер с помощью наборов инструментов Денвер и XAMPP. Эти инструменты позволяют превратить ваш домашний компьютер в веб-сервер и создавать сайты у себя дома. Рассмотренные приложения содержат в себе необходимый минимум программ, которые необходимы для работы в локальной среде разработки: сервер Apache, интерпретатор скриптов PHP, систему управления базами данных MySQL, интерпретатор языка Perl, и другие дополнительные библиотеки. Все эти компоненты вы можете установить и сами, главное знать, как это правильно сделать. И в сегодняшнем уроке мы рассмотрим установку интерпретатора PHP. Другими словами – мы установим PHP 7-й версии на свой компьютер. В качестве примера мы будем использовать операционную систему Windows 10.

Основные возможности PHP

Для начала рассмотрим то, что умеет PHP и для чего его можно использовать:

  • Создание скриптов, которые выполняются на стороне сервера. В качестве сервера может использоваться удаленный сервер (например, на хостинге), либо локальный веб-сервер (например, ваш домашний компьютер). Последний вариант особенно полезен в процессе разработки и тестирования сайтов. Чтобы видеть результат выполнения PHP-скриптов, вам нужен браузер, веб-сервер и сам PHP.
  • Создание скриптов, которые выполняются в командной строке. Этот вариант вам подойдет, если вам нужно запускать PHP-скрипт и видеть результат его обработки в командной строке (консоли). В этом случае вам не нужен веб-сервер и даже браузер. Главное, чтобы был установлен парсер PHP (программа, которая осуществляет разбор исходного кода языка программирования). Этот вариант используется довольно редко и мы не будем рассматривать его в данной статье.

Основные нововведения в PHP 7.х версиях:

  • Поддержка 64-разрядной Windows
  • Удаление устаревших функций и расширений
  • Анонимные классы (классы без имени, которые могут ускорить процесс кодирования, а также время выполнения)
  • Унифицированный синтаксис переменных
  • Синтаксис Unicode Codepoint Escape. Новый escape-символ ( u ) дает возможность использовать код Unicode символа (в шестнадцатеричном виде) внутри строк.
  • Общий родительский класс при обработке исключений ( BaseException )
  • Декларация возвращаемого типа
  • Абстрактное дерево синтаксиса. Это расширение позволяет получать промежуточное представление кода во время компиляции.
  • Новый движок Zend Engine
  • Производительность + Экономия памяти. PHP 7 работает в два раза быстрее, чем PHP 5.6 и использует значительно меньше памяти.
Читать еще:  Php database connection

Процесс установки PHP 7 на свой компьютер

Шаг №1 – Загрузка дистрибутива PHP

Скачайте дистрибутив PHP на официальном сайте https://windows.php.net/download/. Выберите нужную версию и скачайте ZIP-архив для типа сборки Thread-Safe (чтобы он был совместим с сервером Apache) и подходящей разрядности. Например, для этого урока мы скачали архив с последней версией PHP (7.2.12) – VC15 x64 Thread Safe.

После того, как закончится загрузка, распакуйте архив в любую папку, например, в C:PHP7 .

На этом этапе уже можно сказать, что вы установили интерпретатор PHP на свой компьютер. Теперь пришла пора проверить, что он работает нормально.

Мы создадим небольшой PHP-скрипт для проверки:

  • Создайте файл script_01.php в любой папке, например, в C:PHP7scripts .
  • Откройте его любым текстовым редактором, например, Notepad++.
  • И добавьте в него небольшой кусок php-кода:

Шаг №2 – Проверка работы PHP

Теперь проверим, что эта новая программа (скрипт) запускается.

Для проверки будем использовать командную строку (консоль).

Из консоли нам нужно выбрать обработчик (в данном случае это файл php.exe в папке C:PHP7 ).

Проще всего сделать это в Windows 10 так: откройте File Explorer и перейдите в нужную папку:

Затем в строке пути к папке наберите слово cmd и нажмите Enter:

Откроется командная строка (консоль; CLI).

Теперь нужно выбрать обработчик и скрипт для обработки, — для этого наберите следующую команду в консоли:

  • php.exe – это обработчик. Поскольку мы запустили консоль из папки с этим файлом, путь к нему мы опустили. Если вы запускаете обработчик из другой папки, тогда указывайте полный путь к нему, например, в формате C:PHP7php.exe .
  • Через пробел мы указываем скрипт для обработки (абсолютный путь к файлу скрипта) – C:PHP7scriptsscript_01.php . Если у вас другой путь – замените его здесь.

После того, как вы нажмете Enter, должна выполниться команда, и вы должны увидеть результат выполнения скрипта:

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

В нашем примере обошлось без ошибок, и мы видим, что интерпретатор PHP успешно установлен и работает корректно. Теперь вы можете использовать PHP 7 из командной строки.

Использование встроенного в PHP сервера

Если вы хотите запускать PHP-скрипты из браузера, тогда вам нужно установить дополнительно веб-сервер (например, Apache). Правда, для простой проверки можно обойтись и без Апача, а использовать встроенный в дистрибутив PHP сервер. И сейчас мы вкратце расскажем вам, как это сделать.

Откройте в File Explorer папку с установленным PHP и наберите в пути слово cmd , а затем нажмите Enter.

После этого наберите команду, которая переведет PHP в режим сервера:

  • -S – эта часть команды обозначает, что PHP должен запуститься в режиме сервера
  • localhost – эта часть команды обозначает, что сервер должен принимать соединения только со своего компьютера
  • 6789 — это номер порта, на котором сервер будет ждать соединения от веб-браузера. При ошибке о занятости порта, используйте другой порт (от 1 до 65534)

После того как вы наберете команду и нажмете Enter, вы должны увидеть следующую информацию в консоли:

  • Версию запущенного PHP и время запуска
  • Порт, который слушает сервер
  • Корневая папка сервера (в нашем примере это C:PHP7 )
  • Чтобы завершить работу сервера, вы должны нажать в консоли Ctrl+C

Теперь вы можете открыть браузер и протестировать работу сервера и выполнение PHP-скриптов.

Напомним, что корневая папка сервера – это C:PHP7 . Поэтому, чтобы протестировать наш «подопытный» скрипт, нам нужно в браузере набрать следующий адрес:

Если вы используете другой порт, вы должны поменять его на свой. Также учитывайте корректность пути к скриптам (учитывайте корневую папку PHP-сервера).

Если все нормально, вы должны увидеть в браузере результат выполнения скрипта C:PHP7scriptsscript_01.php , а в консоли будет отображаться информация об использовании сервера.

После этого вы можете прекратить работу PHP сервера, для этого нажмите сочетание клавиш Ctrl+C в консоли.

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

Для более сложных задач вам может понадобиться веб-сервер Apache, инструмент для работы с базами данных MySQL и дополнительные библиотеки. Все эти компоненты вы можете установить сами (как и PHP в сегодняшнем уроке), либо же использовать готовые пакеты с необходимыми инструментами, такие как XAMPP, Wampserver и другие (Денвер не поддерживает PHP 7).

В последующих уроках мы постараемся подробно осветить процесс установки дополнительных компонентов.

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

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