Entra

[DEV] Configuración de php.ini en IPBoard y SMF

Iniciado por subzero, 16 enero 2014 a las 18:24

0 post en este tema

Conduce un Peugeot 308 cc - 10.192 mensajes

Publicado 16 enero 2014 a las 18:24

Si te has encontrado con problemas instalando tu foro, subiendo archivos o intentando realizar tareas pesadas como redimensionar todas las imágenes que tus usuarios adjuntaron a sus mensajes, este artículo te va a interesar.

Cuando instalamos por primera vez un foro IPB (Invision Power Board) el propio script nos advertirá sobre los requerimientos mínimos de nuestro servidor, pero en el caso de SMF (Simple Machines Forum) este va a tirar para adelante sin deciros nada. Mediante la configuración del archivo php.ini podemos modificar algunos valores de nuestro servidor que harán que la web funcione mucho mejor.

¿Por qué es importante modificar el archivo php.ini?

Uno de los valores más importantes por los cuales modificar este archivo es el límite de memoria que el servidor concede a la ejecución de nuestros scripts php. Muchas veces podemos encontrarnos con la situación de tener un servidor dedicado con 4Gb de RAM pero con una configuración que limita la ejecución de tus scripts hasta un máximo de 64Mb. El memory_limit, junto con el max_upload_filesize, serán los 2 puntos que aquí comentaremos.

¿Como ver la configuración de mi servidor?

Para conocer la configuración actual de tu servidor haz lo siguiente:
Crea en el mismo directorio donde tengas el index.php del foro, un archivo llamado “info.php” y pega dentro de el esto:
 

phpinfo();

Ahora accede al archivo info.php que has creado desde tu navegador y ahí podrás ver como está configurado tu servidor junto con los valores actuales para memory_limit y upload_max_filesize.

¿Como modificar el archivo php.ini?

Podemos hacerlo de 2 maneras:

  • Si tienes acceso root al servidor dirigete a la dirección que se muestra en el archivo que creaste antes (en la parte superior, donde dice “Loaded Configuration File”). Normalmente la ruta suele ser “/etc/php.ini”. Este archivo define la configuración de TODO el servidor.
  • Si no tienes acceso root no podrás modificarlo, pero si podrás crear uno nuevo cuya configuración solo se aplicará a los scripts de la carpeta donde lo guardes. Para ello crea un archivo en blanco en el mismo directorio en que se encuentre el index.php de IPBoard o SMF y simplemente ponle por nombre “php.ini”.

Abre ahora el archivo en tu editor de código y comencemos:

  • Límite de memoria: IPBoard recomienda 128Mb, pero si vuestro servidor tiene memoria suficiente yo os aconsejaría 256Mb. El motivo está basicamente relacionado con las imágenes que vuestros usuarios puedan subir, ya que crear la miniatura de una imagen de hoy en día (con cámaras de 8MPx en adelante) puede acabar en un bonito:

        Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

    A mi de momento me ha ido bien con 256Mb y no he necesitado más. En caso de tener acceso root debéis buscar en el archivo php.ini la linea que diga “memory_limit” y cambiar su valor por “256M” o el que elijáis. Si no tenéis acceso root escribid la siguiente linea en vuestro php.ini en blanco:

        memory_limit = 256M

     

  • Tamaño máximo de subida de archivo: Da igual el límite del tamaño del archivo que configures dentro del panel de control de IPBoard o SMF para que tus usuarios suban imágenes o pdf’s al foro si vuestro servidor tiene un límite inferior. Ajustad este valor según vuestras necesidades, yo por ejemplo lo tengo en un máximo de 8Mb.
    Si tenéis acceso root buscad la linea “upload_max_filesize” y cambiad su valor por el que queráis. Si no tenéis acceso root escribid en vuestro archivo php.ini la siguiente línea debajo de la anterior con memory_limit:

        memory_limit = 256M
        upload_max_filesize = 8M

     

Si volveis a vuestro navegador y recargais el archivo “info.php” que habias creado antes podréis ver que ahora ya figuran los nuevos valores para los 2 campos anteriores.

Esto es todo, con el poco tiempo que llevo usando IPBoard 3 no he necesitado de ninguna otra configuración especial, y lo mismo durante los 5 años que estuve usando SMF 2. Y vosotros, ¿tenéis alguna otra variable configurada en vuestro php.ini?

 

NOTA (solo para usuarios sin acceso root y foro IPB): en algunos servidores los archivos php.ini creados solo aplican los valores que tienen en su interior al directorio en que se encuentra, pero no al resto de subcarpetas que contenga. Por ello, para asegurarnos que el limite de memoria se aplique también al panel de control y el proceso de instalación en IPB, es conveniente guardar una copia del php.ini dentro del directorio “admin” y otra dentro de “admin/install”.

No te lo vas a creer... ¡Usamos cookies!
Y aunque solo las tengamos para mantener tu usuario logeado y ver cuanta gente nos visita, tenemos que molestaros con este mensaje.
Si quieres saber más puedes leer nuestra Política de cookies.