PHP configuration/ru

From MediaWiki.org
Jump to: navigation, search


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

Contents

[edit] Пример

$url = $_GET['module'];
 
switch ($url)
{
    case 'module1':
        echo "module = module1";
        break;
    case 'module2':
        echo "module = module2";
        break;
    case 'module2':
        echo "module = module2";
        break;
    default:
        echo "module not found!";
        break;
}

[edit] Установка

Пожалуйста, посмотрите http://www.php.net/manual/en/installation.php.

[edit] Опции компиляции

[edit] Необходимое

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

Perl Compatible Regular Expressions, Session и Standard PHP Library подключены по умолчанию; Perl Compatible Regular Expressions и Standard PHP Library не могут быть отключены с версии PHP 5.3.

[edit] Дополнительное

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

  • mbstring — поддержка строк из многобайтовых символов (желательно; при недоступности будет использован более медленный собственный код)
  • iconv — библиотека конвертации штрифтов (желательно; при недоступности будут использованы другие функции конвертации)
  • zlib — библиотека сжатия, желательна для сжатия файлового кеша
  • sockets — поддержка сетевой коммуникации при использовании memcached
  • dba — слой абстракции базы данных в стиле DBM, для кэширования, с следующими обработчиками:

[edit] Пример

Для работы вполне хватает таких параметров компилятора:

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

Давайте рассмотрим, что делают эти параметры.

--with-mysql 
Позволяет PHP отправлять запросы в MySQL. Это существенная функция. Должен быть установлен MySQL, для включения этой опции.
--without-sqlite 
Это опция просто сокращает построение путем удаления ненужных компонентов PHP. Не существенна, но у постройки будет меньше шансов на ошибку из-за отсутствия зависимостей и должна привести к меньшему размеру установки PHP.
--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 
Включает поддержку мультибайтовых символов. Не обязательно; при недоступности будет использован более медленный собственный код.

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

При работе на сайтах с большим объёмом проходящего трафика, настоятельно рекомендуется, чтобы система использовала скомплированные скрипты для кэширования; есть целый ряд подобных плагинов для PHP, некоторые бесплатные, некоторые проприетарны. Некоторые из систем кэширование:

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

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

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

[edit] Конфигурация среды выполнения (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 Мб.

[edit] Изменение размера изображений

ImageMagick может быть использован для изменения размера изображений (см. Manual:Configuration settings/ru#Изображения). Если он не доступен, вместо него используется модуль PHP GD.

[edit] См. также

Язык: English  • Français • 日本語 • Русский
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox