Настройка PHP

From mediawiki.org
This page is a translated version of the page PHP configuration and the translation is 87% complete.
Outdated translations are marked like this.

PHP - это система веб-шаблонов, которая случайно выросла в довольно общий язык. Синтаксис, возможности и модель выполнения PHP имеют смутное сходство с Perl; скрипты загружаются "интерпретатором", компилируются в Байт-код, а затем выполняются. Интерпретатор PHP может быть запущен из командной строки, в стиле CGI или, чаще всего, как встроенный в процесс Apache модуль.

MediaWiki совместимость

Список допустимых версий PHP, которые можно использовать с вашей версией MediaWiki, можно просмотреть на странице Совместимость с PHP.

Установка

Пожалуйста, посмотрите https://php.net/install.

Опции компиляции

Необходимые

Следующие расширения необходимы для MediaWiki:

MySQL и PostgreSQL через PDO не поддерживаются

Функции для работы с регулярными выражениями (Perl-совместимые), Сессии, Стандартная библиотека PHP (SPL) и JSON включены по умолчанию; Функции для работы с регулярными выражениями (Perl-совместимые) и Стандартная библиотека PHP (SPL) не могут быть отключены с PHP 5.3.

Дополнительные

Для работы MediaWiki необходимы дополнительные возможности PHP, которые должны быть включены во время компиляции:

Пример

Мы успешно работаем с этими опциями компилятора:

'./configure' \
  '--with-mysqli=mysqlnd' \
  '--with-pdo-mysql=mysqlnd' \
  '--with-apxs2=/usr/sbin/apxs2' \
  '--with-zlib' \
  '--with-ldap' \
  '--with-gd' \
  '--with-jpeg-dir' \
  '--with-iconv-dir' \
  '--enable-mbstring' 

Детально, эти опции configure делают следующее:

--with-mysqli=mysqlnd
Include MySQLi (MySQL improved) support. The MySQL native driver will be used when value is mysqlnd.
--with-pdo-mysql=mysqlnd
PDO: MySQL support. The native driver will be used when value is mysqlnd.
--with-apxs2=/usr/sbin/apxs2
это необходимо, если вы хотите собрать mod_php. APXS предназначен для настройки компиляции модуля Apache. Вам нужно будет изменить (или исключить путь) для вашей конкретной системы.
--with-zlib
Позволяет PHP читать / записывать заархивированные файлы и отправлять сжатые данные в Apache ... или что-то в этом роде
--with-ldap
Важно, если вы хотите, чтобы пользователи проходили проверку через LDAP.
--with-gd
Используйте его, если вам нужна обработка изображений "внутри" PHP, в противном случае вы можете использовать ImageMagick. Поскольку этот вариант требует, чтобы у вас были установлены различные библиотеки... но, предположительно, IM имеет те же самые библиотеки... ну что ж...
--with-jpeg-dir
Кажется бессмысленным
--with-iconv-dir
Возможно, необязателен.
--enable-mbstring
Включает поддержку мультибайтовых символов. Не обязательно; при недоступности будет использован более медленный собственный код.

Кэширование опкода

Смотрите Руководство:Настройка производительности

Так как у MediaWiki большая кодовая база, рекомендуется использовать кэш для скомпилированных скриптов; есть несколько таких плагинов для PHP, некоторые свободные, некоторое проприентарные. Здесь список некоторых из них: PHP usually comes with this extension pre-installed and enabled.

Конфигурация среды выполнения (php.ini)

Некоторые настройки, определённые в php.ini влияют на поведение MediaWiki, но некоторые из них попросту не совместимы с MediaWiki.

magic_quotes_gpc
Эта опция добавляет кавычки к данным в $_GET, $_POST и $_COOKIES. MediaWiki может работать с этой опцией, однако работа будет замедленной, в связи с удалением кавычек самим MediaWiki.
magic_quotes_runtime
Эта опция непредсказуемо портит вводные данные, добавляя кавычки, например, в открытые файлы, в данные, полученные из базы данных и так далее. MediaWiki не сможет установиться, если эта опция будет включена.
magic_quotes_sybase
аналогично magic_quotes_runtime
mbstring.func_overload
Эта опция приводит к ошибкам и может привести к непредсказуемому повреждению данных; MediaWiki не сможет установиться, если эта опция будет включена.
zend.ze1_compatibility_mode
Эта опция приводит к ужасным ошибкам; MediaWiki не сможет установиться, если эта опция будет включена.
memory_limit
MediaWiki необходимо достаточно много памяти для работы. Как минимум необходимо около 20 МБ, однако если вы хотите чтобы MediaWiki работал корректно, рассмотрите возможность использования не менее 50 МБ.
disable_functions
Чтобы иметь возможность найти GNU diff3 и git в процессе установки, эта запись не должна содержать passthru.
post_max_size
Если вы получаете ошибку "Некоторые части формы редактирования не достигли сервера. Внимательно проверьте, что ваши правки не повреждены, и попробуйте ещё раз.", это может быть связано с тем, что для этого параметра используется префикс "MB", а не просто "M" (первый интерпретируется как байт, а не мегабайт).

Масштабирование изображений

ImageMagick или GD PHP модуль могут использованы для создания предпросмотров изображений. See Manual:Image administration#Image thumbnailing

Смотрите также