Настройка PHP

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page PHP configuration and the translation is 92% complete.

Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

PHP is a web template system that accidentally grew up into a fairly general language. PHP's syntax, capabilities, and execution model bear vague similarities to Perl; scripts are loaded by an "interpreter", compiled to bytecode, and then executed. The PHP interpreter can be run from the command line, CGI-style, or more commonly as an in-process Apache module.

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

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

Установка

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

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

Необходимые

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

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

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

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

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

Пример

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

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

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

--with-mysql 
Позволяет PHP отправлять запросы в MySQL. Это существенная функция. Должен быть установлен MySQL, для включения этой опции.
--with-apxs2=/usr/sbin/apxs2 
Обязательно, если вы хотите собрать mod_php. APXS предназначен для настройки компиляции модуля Apache. Вам необходимо будет изменить значение (или не указывать путь) для конкретной системы.
--with-zlib 
Позволяет PHP читать/записывать сжатые файлы и отправлять сжатые данные в Apache.
--with-ldap 
Важно, если вы хотите, чтобы пользователи проходили проверку через LDAP.
--with-gd 
Используйте, если вы хотите обрабатывать изображения "внутри" PHP, иначе можете использовать ImageMagick....
--with-jpeg-dir 
Возможно, необязателен.
--with-iconv-dir 
Возможно, необязателен.
--enable-mbstring 
Включает поддержку мультибайтовых символов. Не обязательно; при недоступности будет использован более медленный собственный код.

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

См. Manual:Performance tuning

Так как у MediaWiki большая кодовая база, рекомендуется использовать кэш для скомпилированных скриптов; есть несколько таких плагинов для PHP, некоторые свободные, некоторое проприентарные. Здесь список некоторых из них:

К счастью, их также легко устанавливать, как плагины Zend, просто закидываем их библиотеки и изменяем php.ini. Никакой траты времени на полную перекомпиляцию всего PHP!

В зависимости от кэша и параметров, вы можете выполнять специальные операции при обновлении файлов скрипта.

MediaWiki также может взаимодействовать с кэшами и использовать их для кэширования объектов, см. $wgMainCacheType .

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

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

register_globals
Внимание Внимание: Включение этой настройки очень рискованно и может быть использован для XSS-атак; Для MediaWiki он необязателен, так что если можете, отключите настройку!
safe_mode
Safe mode является непродуманной, неоформленной настройкой в PHP; 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
To be able to find GNU diff3 and git during installation process this entry must not contain passthru
post_max_size
If you are getting the error "Некоторые части формы редактирования не достигли сервера. Внимательно проверьте, что ваши правки не повреждены, и попробуйте ещё раз." then it could be because this is set with a "MB" prefix, instead of just "M" (the former is interpreted at bytes, not megabytes).

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

ImageMagick can be used for image resizing. When it is not available, the GD PHP module is used instead where found.

См. также