PHP configuration/ru

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 compatibility
For the allowed set of PHP versions you can use with your version of MediaWiki, see Compatibility#PHP.

Установка
Пожалуйста, посмотрите.

Необходимое
Следующие расширения необходимы для MediaWiki:
 * Perl Compatible Regular Expressions
 * Session
 * Standard PHP Library
 * Document Object Module
 * JSON (alternatively, the pecl-json-c fork)
 * Хотя бы один драйвер СУБД:
 * MySQL
 * PostgreSQL
 * SQLite (through PDO)
 * MySQLi, MySQL и PostgreSQL через PDO не поддерживаются

Perl Compatible Regular Expressions, Session, Standard PHP Library, and JSON are enabled by default; Perl Compatible Regular Expressions and Standard PHP Library cannot be disabled since PHP 5.3.

Optional
MediaWiki either needs or wants a number of optional features of PHP that need to be enabled at compile time:
 * mbstring — поддержка строк из многобайтовых символов (желательно; при недоступности будет использован более медленный собственный код)
 * iconv — библиотека конвертации штрифтов (желательно; при недоступности будут использованы другие функции конвертации)
 * zlib — библиотека сжатия, желательна для сжатия файлового кеша
 * sockets — поддержка сетевой коммуникации при использовании memcached
 * dba — слой абстракции базы данных в стиле DBM, для кэширования, с следующими обработчиками:
 * CDB for interwiki cache (and maybe some other things)
 * Berkeley DB3, если вы хотите использовать CACHE_DBA в,  или
 * FastStringSearch

Пример
We are successfully working with these compiler options:

 './configure' \ '--with-mysql' \ '--with-apxs2=/usr/sbin/apxs2' \ '--with-zlib' \ '--with-ldap' \ '--with-gd' \ '--with-jpeg-dir' \ '--with-iconv-dir' \ '--enable-mbstring' In detail, these configure options do the following:


 * --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 : Включает поддержку мультибайтовых символов. Не обязательно; при недоступности будет использован более медленный собственный код.

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

 * see Manual:Cache

Due to MediaWiki's large codebase, it is highly recommended that a system be used to cache the compiled scripts; there are a number of such plugins for PHP, some free, some proprietary. There is a list of some caches:
 * Alternative PHP Cache -- used at Wikimedia
 * Windows Cache Extension for PHP -- recommended for IIS users

Fortunately, these all seem to be easy to install as Zend plugins, you just drop in a library and change your php.ini. No fussy recompiling of the entire PHP!

Depending on the cache and options used, you may have to perform a special operation whenever updating script files.

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

Конфигурация среды выполнения (php.ini)
Some settings in php.ini affects MediaWiki behavior and some of them are incompatible with MediaWiki


 * register_globals
 * Включение этой настройки очень рискованно и может быть использован для XSS-атак; Для MediaWiki он необязателен, так что если можете, отключите настройку!


 * safe_mode
 * Safe mode является непродуманной, неоформленной настройкой в PHP; MediaWiki может работать с этой опцией, однако некоторые функции будут недоступны.


 * magic_quotes_gpc
 * This options adds quotes to data in,   and  . MediaWiki can work with this option turned on, but will have to remove these quotes and thus will be slower.


 * magic_quotes_runtime
 * This option corrupts data input unpredictably by adding quotes in e.g. opened files, data received from database etc. MediaWiki will refuse to install if this option is turned on.


 * magic_quotes_sybase
 * same as magic_quotes_runtime


 * mbstring.func_overload
 * This option causes errors and may corrupt data unpredictably; MediaWiki will refuse to install if this option is turned on.


 * zend.ze1_compatibility_mode
 * This option causes horrible bugs; MediaWiki will refuse to install if this option is turned on.


 * memory_limit
 * MediaWiki needs sufficiently memory to work. The minimal limit should be something like 20 MB, but if you want MediaWiki to work correctly, consider using at least 50 MB.


 * disable_functions
 * To be able to find GNU diff3 and git during installation process this entry must not contain passthru

Масштабирование изображений
ImageMagick can be used for image resizing When it is not available the GD PHP module is used instead where found.

См. также

 * PHP Knowledgebase
 * PHP Tutorials
 * Suhosin (Hardened-PHP Project patch and extension)
 * Simple PHP Tutorials