Configuração do PHP
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.
Compatibilidade com MediaWiki
Para o conjunto permitido das versões do PHP que pode utilizar com a sua versão do MediaWiki, consulte Compatibilidade#PHP.
Instalação
Por favor, consulte https://php.net/install.
Opções do tempo de compilação
Obrigatório
As seguintes extensões são requeridas pelo MediaWiki:
- Expressões Regulares Compatíveis com Perl
- Sessão
- Biblioteca Regular de PHP
- Módulo de Objeto de Documento
' Biblioteca de conversão de conjuntos de carateres [$iconv iconv]
- JSON (alternativamente, clone pecl-json-c)
- mbstring multibyte character string support
- Deteção de tipo de MIME [$fileinfo informação do ficheiro]
- intl Unicode normalization
- calendar Support for conversion between different calendars
- Pelo menos um controlador da base de dados:
Não é suportado MySQL e PostgreSQL através de 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.
Opcional
MediaWiki either needs or wants a number of optional features of PHP that need to be enabled at compile time:
- zlib compression library, optionally to compress the file cache
- exif functions to display EXIF data from uploaded images (
$wgShowEXIF
).
Exemplo
We are successfully working with these compiler options:
'./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'
In detail, these configure options do the following:
- --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
- this is required if you want to build mod_php. APXS is for configuring compilation of an Apache module. You will need to change (or omit the path) for your specific system.
- --with-zlib
- Allows PHP to read / write zipped files and send compressed data to Apache ... or something like that
- --with-ldap
- Important if you want your wiki users to be verified by LDAP
- --with-gd
- Use this if you want image processing 'within' PHP, else you can use ImageMagick. Because this option requires that you have various libraries installed... but presumably IM has the same deps... oh well...
- --with-jpeg-dir
- Seems nonsensical
- --with-iconv-dir
- Seems nonsensical
- --enable-mbstring
- Allows multibyte character string support. This is optional, as slower custom code will be used if not available.
Opcode caching
Due to MediaWiki's large codebase, it is highly recommended that a system be used to cache the compiled scripts; the opcache PHP extension can be used for this. PHP usually comes with this extension pre-installed and enabled.
Configurações em tempo de execução (php.ini)
Some settings in php.ini affects MediaWiki behavior and some of them are incompatible with MediaWiki.
- magic_quotes_gpc
- This options adds quotes to data in
$_GET
,$_POST
and$_COOKIES
. 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
- post_max_size
- If you are getting the error "Algumas partes do formulário de edição não chegaram ao servidor; verifique que a sua edição continua intacta e tente novamente, por favor." then it could be because this is set with a "MB" prefix, instead of just "M" (the former is interpreted at bytes, not megabytes).
Image Resizing
ImageMagick or the GD PHP module can be used for image thumbnailing. See Manual:Image administration#Image thumbnailing