Mudanças entre as edições de "Math safe mode"

De WikiLICC
Ir para: navegação, pesquisa
(Mediawiki <nowiki><math></nowiki> support with PHP safe_mode)
(4) edit your LocalSettings.php)
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 
==Usando <nowiki><math></nowiki> no MediaWiki com PHP safe_mode==
 
==Usando <nowiki><math></nowiki> no MediaWiki com PHP safe_mode==
  
Autor: Mattias Guns  
+
Autor: Mattias Guns (tradução [[dago]])
 
http://xylofaan.ulyssis.org/patch/mediawiki/math_safe_mode/
 
http://xylofaan.ulyssis.org/patch/mediawiki/math_safe_mode/
  
Linha 7: Linha 7:
  
 
===1) safe_mode_exec_dir===
 
===1) safe_mode_exec_dir===
Primeiro, cheque qual é o valor do setting `safe_mode_exec_dir` do PHP.
+
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:
 
* 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/
 
   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 nele.
+
* safe_mode_exec_dir aponta para algum diretório : Tenha certeza que você pode adicionar algo neste diretório.
  
===2) patch includes/Math.php ===
+
===2) corrija (patch) o arquivo includes/Math.php ===
It uses backticks ` ` to execute the command, this doesn't
+
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''.
work in safe mode, apply the patch named:
 
includes_Math.php_safemode.patch
 
It uses exec() but also drops the escaping which, for some
 
reason, is necessary.
 
It also ignores checking if the created file exists, which is
 
necessary if you don't want (or can't) add that directory to
 
`safe_mode_include_dir`.
 
  
===3) copy the texvc-wrapper script===
+
===3) copie o script texvc-wrapper===
Because the data is not escaped, spaces in the latex code
+
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'''.
confuse texvc. I have written a wrapper that fixes this
+
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.
by grouping the arguments the right way, copy this wrapper
 
script `texvc-wrapper` to the directory set in the PHP value
 
`safe_mode_exec_dir`.
 
Next, edit the wrapper script so that the `TEXVC` points to
 
the texfc executable of your installation.
 
Don't forget to make the wrapper executable ; )
 
  
===4) edit your LocalSettings.php===
+
===4) edite seu LocalSettings.php===
Lastly, edit your LocalSettings.php:
+
Por último, edite seu LocalSettings.php:
* Of course, enable <nowiki><math></nowiki> support
+
* habilite suporte a <nowiki><math></nowiki>
 
  $wgUseTeX  = true;
 
  $wgUseTeX  = true;
* enable the features provided by the patch
+
* habilite as características fornecidas pelo patch.
 
  define('FIX_TEX_SAFE_MODE', 1);
 
  define('FIX_TEX_SAFE_MODE', 1);
* point the Texvc var to the wrapper script
+
* aponte a variável Texvc para o wrapper
 
  $wgTexvc  = "{$IP}/math/texvc-wrapper";
 
  $wgTexvc  = "{$IP}/math/texvc-wrapper";

Edição atual tal como às 12h19min de 24 de abril de 2009

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";