PHP5

PHP es un lenguaje de scripts de proposito general adecuado para desarrollo web. El script PHP puede ser embebido en HTML. Esta seccción explica como instalar como instalar y configurar PHP5 en un sistema con Apache2 y MySQL.

Instalación

sudo apt-get install php5 libapache2-mod-php5

Para ejecutar scripts PHP5 desde la linea de comandos debes instalar el paquete php5-cli.

sudo apt-get install php5-cli

También puedes ejecutar scripts PHP5 sin instalar el módulo Apache PHP5.

sudo apt-get install php5-cgi

Para usar MySQL con PHP5 debes instalar el paquete php5-mysql

Configuración

Ya puedes ejecutar scripts PHP5 desde el navegador.

Por defecto, el webserver Apache esta configurado para ejecutar scripts PHP5. Verifica que los archivos /etc/apache2/mods-enabled/php5.conf y /etc/apache2/mods-enabled/php5.load existen. Si no existen usa el comando a2enmod.

Ahora debes reiniciar apache:

sudo /etc/init.d/apache2 restart

Testing

Para verificar la instalación puedes ejecutar el script:

<?php
  phpinfo();
?>

Puedes guardar el contenido en un archivo phpinfo.php y colocarlo bajo el directorio DocumentRoot de Apache. Cuando tu navegador apunte a http://hostname/phpinfo.php, debe mostrar valores de configuración PHP5.

Fatal error: tamaño de memoria agotada

este error puede surgir en script PHP previamente funcional cuando los requisitos de memoria supera al límite predeterminado de 16MB. No te preocupes, porque es fácil de resolver.

Para cambiar el límite de memoria incluimos una línea como esta en la parte superior de la secuencia de comandos:

ini_set("memory_limit","32M")

Si esto no funciona, a seguir aumentando el límite de memoria.

Este cambio se puede hacer de forma permanente para todos los scripts PHP que se ejecutan en el servidor, añadiendo una línea al archivo php.ini (o modificándola si ya existe):

memory_limit=32M

Ten en cuenta que un límite enorme es un pobre sustituto de buena codificación. Un script mal escrito e ineficiente puede desperdiciar memoria que puede causar graves problemas par ejecutar secuencias de comandos con frecuencia.