Archivo de la etiqueta: php-5.4

Opciones de PHP desde Linea de comandos – PHP Tips

Hoy voy a explicar alguna de las opciones que tiene PHP desde la linea de comandos. Una de las opciones mas útiles es la de poder probar nuestro código vía web sin necesidad de tener instalado un servidor web, esta es una opción que solo esta disponible a partir de la versión 5.4

Servidor web integrado

Supongamos que tenemos el siguiente código guardado en un fichero llamado index.php


<!DOCTYPE html>
<html lang='es'>
<head>
<meta charset="UTF-8">
<title>Pruebas PHP</title>
</head>
<body>
<h1>Pruebas con PHP</h1>
<?php echo "Hola Mundo"; ?>
</body>
</html>

Si desde la terminal lanzamos el siguiente comando:


php -S localhost:8888 index.php

Abrimos un navegador y tecleamos la siguiente dirección localhost:8888

Captura de pantalla 2013-11-17 a la(s) 19.28.05

Para terminar la ejecución del servidor pulsamos CTRL + c en el terminal que hemos lanzado el comando y se terminara.

Sintaxis coloreada

Con el mismo código que hemos usado antes tecleamos lo siguiente, imaginemos que queremos crear una versión HTML para ver el código que tenemos. Ejecutamos lo siguiente


php -s index.php > index.html

Esto nos generara el archivo index.html, y si lo abrimos veremos el código fuente coloreado

Captura de pantalla 2013-11-17 a la(s) 19.33.51

Comprobar sintaxis

También podemos comprobar la sintaxis desde la linea de comandos de la siguiente manera


php -l index.php

Si tenemos algún error en nuestra sintaxis este comando nos mostrara donde.

Anuncios

PHP en Mac OS X 10.9 Mavericks – Mac OS X Tips

Mac OS X MavericksYa ha pasado mas de una semana desde la llegada del nuevo Mac OS X Mavericks, y tengo que decir que me esta gustando bastante, a parte de ser gratuito, funciona muy bien.

Una de mis “sorpresas” ha sido comprobar que la configuración que tenia para el desarrollo de PHP ha desaparecido, y he tenido que remontarlo todo, pero vamos no me ha supuesto mucho tiempo.

Cambio en la versión de PHP.

En Mac OS 10.8, creo recordar que la versión que tenia instalada era la 5.3.14, estoy hablando un poco de memoria, pero seguro que era la 5.3, en esta nueva versión tenemos de serie la 5.4.17, si queréis comprobarlo solo tenéis que abrir una terminal y escribir php -v

¿Donde esta mi PEAR?

Así es, como suena, todo mi directorio con las librerías PEAR ha desaparecido, también decir que lo tenia dentro del sistema y no en proyecto así que esto puede llegar a ser comprensible,  pero si abrimos un terminal y vamos al directorio  /usr/lib/php nos encontraremos un ejecutable llamado install-pear-nozlib.phar se nos instalara PEAR, no olvidar instalarlo como root.


sudo install-pear-nozlib-phar

¿Yo tenia el XDebug instalado, no?

Si cambiamos el PHP cambiamos las extensiones, así que si teníamos instalado por ejemplo el XDebug pues ya yo esta, así que toca reinstalarlo. Lo mas sencillo, el metodo PECL, pero antes de ejecutarlo es mejor que instaléis las “command line development tools’ ya que si no lo hacéis, casi seguro que os saldrá el siguiente error.


fatal error: 'php.h' file not found
#include <php.h>
         ^

Instalar command line development tools


sudo xcode-select --install

Una vez instalado ya podemos instalar el Xdebug


sudo pecl install xdebug

Una vez instalado tenemos que agregar la linea “zend_extension=xdebug.so” a nuestro php.ini, esto lo veremos  en el siguiente apartado, pero si agregamos esa linea como nos dicen nos dará error, la linea que tenemos que agregar para que nos funcione es la siguiente


zend_extension = "/usr/lib/php/extensions/no-debug-non-zts-20100525"

¿Donde esta el php.ini?

La respuesta a esta pregunta es sencilla, de serie no esta como tal, esta como php.ini.default, al cual tenemos que cambiarle el nombre a php.ini o crear un enlace simbólico a este, para que la configuración se nos aplique. Este fichero podemos encontrarlo en el directorio /etc, y es un fichero de solo lectura, así que si queremos modificar algo o bien le cambiamos los permisos a escritura mientras lo editamos, o si usamos el vi o vim, los cuales tengo que decir que para estas cosas de configuraciones yo los uso siempre, guardamos los cambios con wq!.

Cosas que agregar al php.ini

En el fichero no están definidos los path de búsqueda, así que buscar donde dice include_path y agregar, los directorios que queremos incluir. Por ejemplo, si tenemos instalado PEAR querremos incluir en el path el directorio de PEAR.


include_path = ".:/usr/lib/php/pear"

Si usais el vi/vim una manera muy sencilla de llegar hasta esta linea es hacer lo siguiente una vez abierto el fichero:

Pulsamos ESC a continuación escribimos /include_path y pulsamos ENTER, y así nos va hasta la linea donde pone include_path.

Si la linea empieza con ; quitarlo ya que sino continuara siendo un comentario.

En el ejemplo anterior de la extensión de Xdebug, una manera muy sencilla de agregar la linea, como esta se puede poner al final del fichero podemos hacer lo siguiente:


sudo echo zend_extension = "/usr/lib/php/extensions/no-debug-non-zts-20100525" >> /etc/php.ini

Servidor PHP integrado en PHP 5.4

Una de las nuevas utilidades con las que cuenta el PHP 5.4 es la del servidor integrado, para lanzarlo es tan sencillo como abrir la terminal, situarnos en el directorio raíz de nuestra aplicación y ejecutar lo siguiente:

php -S localhost:8000

En este ejemplo he usado el puerto 8000 pero si este lo tenemos ocupado podemos probar con otro que tengamos libre. Este servidor esta pensado solo para desarrollo y no para producción.
+ Info

PHP: PHP 5.4.0 Release

The PHP logo displaying the Handel Gothic font.
Ya tenemos la nueva versión estable de PHP y como cada vez que se actualiza una versión tenemos mejoras que nos pueden interesar a la hora de programar y problemas que nos pueden surgir con nuestras antiguas aplicaciones.

Como caracteristicas principales:

Como cambios que pueden afectar a la compatibilidad:

  • Register globals, magic quotes y safe mode a sido eliminado.
  • La sintaxis break/continue $var has sido eliminada.
  • La opcion en el ini de allow_call_time_pass_reference ha sido eliminada
  • El default_charset se ha establecido a “UTF-8”.

Actualizando a PHP 5.4

Una vez vi el anuncio, actualize el servidor de desarrollo y las aplicaciones que uso para poder usar las nuevas caracteristicas, probrarlas y comprobar como se comportaba con las aplicaciones que tengo desarrolladas, antes de plantearme la idea de actualizar el servidor de producción y tengo que decir que me voy a esperar un poco a actualizar el de producción ya que me ha surgido algún que otro problemilla, sobre todo con el Zend Framework, y mas concretamente con el Zend_PDF. Por lo demás si que he observado una mejora notable en el rendimiento, y eso que el php 5.3 era muy superior en rendimiento a la versión 5.2

PHP: PHP 5.4.0 Release Announcement.