Math safe mode

De WikiLICC
Ir para: navegação, pesquisa

Usando <math> no MediaWiki com PHP safe_mode

Autor: Mattias Guns (tradução dago) http://xylofaan.ulyssis.org/patch/mediawiki/math_safe_mode/

Estes foram os passos tomados para funcionar <math> numa máquina usando PHP com safe_mode=on.

1) safe_mode_exec_dir

Primeiro, cheque qual é o valor do setting `safe_mode_exec_dir` do PHP no arquivo php.ini

  • Sem safe_mode_exec_dir : Edite a configuração apache de seu host e aponte ele para o diretório math da sua instalação wiki:
 php_admin_value safe_mode_exec_dir /srv/www/wiki/math/
  • safe_mode_exec_dir aponta para algum diretório : Tenha certeza que você pode adicionar algo neste diretório.

2) corrija (patch) o arquivo includes/Math.php

Ele usa crases ` ` para executar o comando, que não funciona em safe-mode. Aplique o patch chamado includes_Math.php_safemode.patch. Ele usa o comando exec() e também elimina o escaping o que, por alguma razão, é necessário. Ele também não checa se o arquivo criado existe, que é necessário se você não quer (ou não pode) adicionar o diretório ao safe_mode_include_dir.

3) copie o script texvc-wrapper

Como os dados não são "escaped", espaços no código latex confundem o texvc. Escrevi um "wrapper" que corrige isto agrupando os argumentos de forma correta. Copie o arquivo script texvc-wrapper para o diretório setado no php.ini como safe_mode_exec_dir. Depois, edite o "wrapper" tal que `TEXVC` aponte para o executável texvc de sua instalação. Não esqueça de tornar o wrapper executável.

4) edite seu LocalSettings.php

Por último, edite seu LocalSettings.php:

  • habilite suporte a <math>
$wgUseTeX  = true;
  • habilite as características fornecidas pelo patch.
define('FIX_TEX_SAFE_MODE', 1);
  • aponte a variável Texvc para o wrapper
$wgTexvc   = "{$IP}/math/texvc-wrapper";