Pregunta

Destacación de sintaxis para PHP se niega trabajar en las páginas wiki en mi instalación de TRAC. Funciona maravillosamente al navegar en la fuente, pero no en la wiki. JavaScript, C y Python Syntax destacando el trabajo en el wiki, pero no PHP. Ay de mí.

tengo Trac 0.11.7 instalado Ubuntu 10.04. Mi servidor web es Apache 2.2.14.

He instalado manualmente pygmentos. Sin suerte. He cambiado el tema de Pygments en preferencias. Sin suerte.

Tengo absolutamente 0 errores registrados en el trac y apache registros. El nivel de registro para TRAC se establece en WARNING (Y el registro de TRAC está funcionando: tengo otros errores de hoy). Firebug también no muestra ningún error con todo lo que se active (excepto un error CSS no relacionado de "propiedad desconocida"-Opacidad ").

Ver la fuente HTML de la página muestra que el código simplemente se escupe como texto preformado. No tiene las toneladas de <span>Todos los demás bloques de código iluminados con sintaxis tienen.

Este es el código que estoy usando en el wiki:

{{{
#!php
if(true)
{
    echo 'hi';
}
}}}

Y este es el resultado:

<div class="code"><pre><span class="x">if(true)
{
    echo 'hi';
}
</span></pre></div>

Por favor ayuda :-)


Para un ejemplo de lo que esperaría, aquí hay un código JS que funciona:

{{{
#!js
if(true)
{
    alert('hi');
}
}}}

Y este es el resultado:

<div class="code"><pre><span class="k">if</span><span class="p">(</span><span class="kc">true</span><span class="p">)</span>
<span class="p">{</span>
    <span class="nx">alert</span><span class="p">(</span><span class="s1">'hi'</span><span class="p">);</span>
<span class="p">}</span>
</pre></div>
¿Fue útil?

Solución

Creo que puedes resolver esto incluyendo el <?php etiqueta:

{{{
#!php
<?php
if(true)
{
    echo 'hi';
}
}}}

Eso funciona para mí en mi Wiki Trac, de todos modos. Sin embargo, todavía no he podido determinar si este es un comportamiento previsto o un error.

Otros consejos

No sé por qué esto siempre me pasa. Por supuesto, lo imagino 5 minutos después de publicar la pregunta.

El problema era que no tenía <?php ?> En la fuente de PHP, por lo que el más alto de sintaxis lo trataba como HTML; Al igual que el analizador PHP.

C, Python y JS no tienen un equivalente, por eso parecían funcionar cuando PHP no.

Este código funciona:

{{{
#!php
<?php
if(true)
{
    echo 'hi';
}
?>
}}}

Dejo esta pregunta aquí en caso de que alguien más tenga el mismo problema, a pesar de lo estúpido que me siento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top