Error “svn export failed” en WebSVN al hacer un tarball

Pero que complicado es esto… y desesperante. Lograr tener todo perfecto y sin ni una mancha 😛

Logo de WebSVNHoy vamos a luchar contra un “bug” (no se si se puede decir que sea culpa del script) de WebSVN en su rama 2.3.x. Si no conoces este software/script/web, es una pequeña página web que usa PHP, que permite acceder a un servidor Subversion desde una página web muy amigable. Este programa tiene la característica de hacer un zip/tar con el código fuente y bajarlo desde esta web… salvo si pones acentos en algún fichero. Entonces tendremos un bonito error que pondrá algo como:

svn export failed [...]

En ese momento piensas: “Seguro que es una chorrada de configuración de la web”. Mal, compañero, mal. Siguiendo una lógica deductiva busque si era un error de WebSVN, luego de Subversion, luego de Apache, luego de PHP y luego del sistema operativo. Obviamente, y como ocurre en estos casos, era un error en conjunto.

La causa, básicamente, es que Apache siempre arranca con las “locale” asignas a “C”, y obviamente, WebSVN lanza Subversion con dichas “locale” lo que hace que no sepa interpretar los caracteres acentuados y eñes (que están en UTF-8).

¿Como arreglarlo?, así de fácil o de complicado (como quieras verlo):

// Fichero websvn/include/setup.php
//
// Busca la línea 329 mas o menos, donde habrá algo del tipo:
setlocale(LC_ALL, '');
// Cambialo a:
setlocale(LC_ALL, 'es_ES.UTF-8');
// Añade esta línea
putenv('LC_ALL=es_ES.UTF-8');

Si no codificación de caracteres no es la misma, pues pon la que tenga tu equipo (ejecuta un “locale” en la consola).

Hecho.

Referencias:

Please follow and like us:

¿Problemas de memoria con WordPress?, no hay problema

Cuando usas WordPress, no es difícil encontrarse con algún odioso error de “Fatal error: Allowed memory size of XXX bytes exhausted (tried to allocate YYY bytes)“. Este problema se produce cuando tu PHP trata de usar más memoria de la que tiene asignada por defecto (si no recuerdo mal son 32 Mb), la cual es fácil de sobrepasar si tenemos mas de 10 plugins activos, sobretodo con alguno que consume muchos recursos…
Para conocer si el problema es el uso de la memoria de tu WordPress, hay un plugin recomendado que nos permite saber cuanta memoria consumimos con nuestro blog, y es “TPC! Memory Usage“, el cual recomiendo ya que es muy sencillo y práctico.

Para tratar de solucionar este problema, hay tres métodos a intentar. Primero en la propia configuración de WordPress, añadiendo (ojo, digo añadiendo) al principio del fichero wp-config.php la sentencia:

// Por ejemplo, si no te vale, ve subiendo el valor.
define('WP_MEMORY_LIMIT', '32M');

En este caso se ponen 32 Mb de memoria, pero por ejemplo para este blog tengo que poner 48 Mb y todo va bien, con un consumo medio de 33 Mb. Tampoco te pases poniendo el límite, ya que si estas es un server compartido, seguro que no te dejan subirlo mucho…

Si no te vale con este cambio y te siguen saltando errores con la memoria, es que te tienen limitado el tamaño máximo en la configuración de PHP, y puedes probar cambiando la configuración del PHP desde el fichero .htaccess (solo si el servidor web lo permite claro y usas Apache) del raíz de tu aplicación.

# De nuevo es valor que puedes cambiar
php_value memory_limit 32M

Si tuvieras acceso al fichero php.ini (cosa que dudo salvo que manejes tu el servidor), podrías cambiar la siguiente línea en él:

memory_limit = 16M

Si aún no te lo ha solucionado, te recomiendo que contactes con el administrador de la máquina ya que tienes las manos atadas con este asunto.

Referencias:

Please follow and like us:

Como habilitar en XAMPP las extensiones cURL y OpenSSL

Logo de XAMPP

Logo de XAMPP

XAMPP es uno de los varios “todo en uno” (Apache+MySQL+PHP) para el desarrollo web que se han sacado a lo largo de los tiempos. Aunque últimamente ha ganado muchos adeptos, y se usa masívamente en el desarrollo web o simplemente para montar un servidor web muy potente en pocos click y con un gasto “0”.

Este conjunto de servicios/servidores (no se si es muy correcto llamarlo así), trae alguna que otra limitación, como en este caso, no trae habilitados por defecto las extensiones de PHP, cURL (para poder traer ficheros de otros servidores mediante URL) y OpenSSL (Toda la gestión de las conexiones seguras dentro del protocolo HTTPS). Todo esto se puede comprobar haciendo un “phpinfo()”.
Estas extensiones son requeridas, por ejemplo, para montar una tienda virtual OSCommerce (aunque podriamos pasar sin ellas).

Para habilitar estas extesiones, solamente hay que modificar esto en el fichero “Ruta a tu instalacion\xampp\php\php.ini” y descomentar (quitar el punto y coma) las siguientes lineas:

  • extension=php_openssl.dll
  • extension=php_curl.dll

Ahora solo queda reiniciar el servidor Apache y ya estarán activados.

Please follow and like us: