Math safe mode

De WikiLICC
Revisão de 12h18min de 24 de abril de 2009 por Dago (Discussão | contribs) (3) copy the texvc-wrapper script)
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) edit your LocalSettings.php

Lastly, edit your LocalSettings.php:

  • Of course, enable <math> support
$wgUseTeX  = true;
  • enable the features provided by the patch
define('FIX_TEX_SAFE_MODE', 1);
  • point the Texvc var to the wrapper script
$wgTexvc   = "{$IP}/math/texvc-wrapper";