Ejecutar controlador de CodeIgniter a través de consola o terminal
Si en nuestro proyecto web utilizamos el framework CodeIgniter, es muy posible que necesitemos ejecutar algún proceso ya sea para una tarea de backend o por otra causa.
Lo más sencillo sería desarrollar estos procesos dentro del mismo framework, ya que ahí tenemos todas las librerias, helpers, parámetros y demás herramientas que hemos estado utilizando durante todo el desarrollo del proyecto.
El caso es que si habéis creado un proceso en CodeIgniter, creando un nuevo controlador, os habréis dado cuenta que el siguiente comando no sirve para ejecutar el controlador en una consola Linux:
php ruta_codeigniter/index.php nombre_del_controlador
Primero, para poder ejecutar el controlador desde una consola/terminal Linux, necesitamos saber dónde tenemos instalado PHP en nuestro sistema, para esto ejecutamos lo siguiente:
which php
Esto nos devolverá la ruta donde tenemos instalado PHP. En nuestro caso nos devuelve:
/usr/bin/php
Ahora, sabiendo donde se encuentra PHP, podemos ejecutar el controlador de la siguiente forma:
/usr/bin/php ruta_codeigniter/index.php nombre_del_controlador
Como habréis observado, nuestro controlador se ha ejecutado correctamente.
Si queremos ejecutar un controlador de CodeIgniter como Crontab (tarea programada) en Linux, deberemos utilizar el mismo comando para ejecutarlo, sino, no funcionará.