Ejecutar PHP desde Sublime Text

Como ya sabrás, a parte de ejecutar un archivo .php en el navegador, también puedes hacerlo mediante su interprete php.exe que se encuentra en su carpeta de instalación (c:\archivos de programa) en Windows o en /usr/bin/php en Linux.

Como ejecutarlo en el navegador es simplemente escribir localhost/ y a continuación la ruta del archivo dentro de la carpeta htdocs\ para Windows o /var/www/ para Linux, nuestro sublime-build ejecutará nuestro archivo .php y mostrará su salida estándar.

Partiendo del siguiente archivo llamado factorial.php:
<?php 
    echo 'El factorial de 8 es: ' . factorial(8), PHP_EOL;
    function factorial($n) {
        if($n == 1) {
            return 1;
        }
        return $n * factorial($n - 1);
    }
?>
El sublime-build será el siguiente:
//En Windows
{
    "cmd": ["c:\\php\\php.exe", "${file_name}"],
    "shell": true
}
//En Linux
{  
    "cmd": ["/usr/bin/php", "${file_name}"],
    "selector": "codigo.php"
}
Por ejemplo, la salida del programa anterior será "El factorial de 8 es: 40320", recordad guardar este sublime-build con un nombre descriptivo como por ejemplo "runPHP.sublime-build" y seleccionarlo antes de ejecutar algún archivo .php en la pestaña Tools->Build System.

Por último,  si tienes algún problema, fíjate en los directorios de instalación de php ya que puedes haberlo instalado en otro directorio que no es el del ejemplo.

Comentarios

  1. GRACIAS MAN ME GUSTARON MUCHO TUS POST!!! Y ME ENCANTO SUBLIME ES LA PURA LEY!!!

    ResponderEliminar
  2. Hola viejo ! me dirijo a molestarte un poco por aca ... mi consulta es simple... estoy tratando de hacer un build desde sublime text con php y me arroja el sgte error: Errno 13] Permiso denegado
    [cmd: [u'/opt/lampp/php', u'st2.php']]
    [dir: /opt/lampp/htdocs]
    [path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/maiko/bin]
    [Finished]
    pero en windows si me funciona .. claro que la sitaxis es diferente .. uso ubuntu 12.04 y ya las carpetas tienen el permiso adecuado ... pero que me falla? sera el path? como lo configuro en ubuntu? o que me falta? muchisimas gracias por tu ayuda ! Elkin
    ah... estos son los parametros de mi build ya que uso lampp : {
    "cmd": ["/opt/lampp/php", "${file_name}"],
    "file_regex": ".*(?: in )(.*) on line ([0-9]*)",
    "selector": "codigo.php"
    }

    ResponderEliminar
    Respuestas
    1. Pues lo primero de todo prueba a quitar la propiedad "file_regex" del build-system, más que nada para quitar posibles errores, el build-system que hay en esta entrada para Ubuntu funciona bien pues lo acabo de probar en la versión 13.04 y con PHP 5 instalado desde los repositorios.

      El problema del path puedes descartarlo por que en el build-system utilizas una ruta absoluta para acceder a php de modo que ese no es el problema así que lo único que se me ocurre es darle todos los permisos /opt/lampp/php con el comando:

      sudo chmod 777 /opt/lampp/php

      También para evitar posibles errores con permisos.
      ¿Por cierto, te funciona correctamente el servidor apache y php cuando accedes a una página en php local?

      Saludos.

      Eliminar
  3. Hola! Estoy tratando de configurar ST3 para PHP. Tengo esta build:
    {
    "cmd": ["C:\wamp\bin\php\php5.4.3\php.exe", "${file}"],
    "selector": "source.php",
    "shell": true
    }
    Y wamp funcionando, puedo ejecutar el archivo desde el navegador o la cmd sin problemas, pero si le doy a Ctrl+Shift+b o Ctrl+b o F7, la leyenda de abajo me dice "No build system". ¿Podrias hecharme una mano?

    ResponderEliminar

Publicar un comentario

Si tenéis alguna duda o sugerencia, no dudéis en comentar. ;)

Entradas populares de este blog

Ordenar cualquier array con SORT en JAVA

Modificadores de acceso (public, protected y private) JAVA

Calcular factorial de un numero en JAVA