CodeIgniter auf der Konsole/Kommandozeile

Apr 22, 2009 by Benjamin    1 Comment     Posted under: Coding

CodeIgniter halt ich für ein geniales PHP-Framework. Daher benutze ich es für fast alle meine Projekte, auch für mein neustes Baby, ufashion.de.

Schade fand’ ich bisher immer nur, dass ich CodeIgniter nicht für Skripte verwenden konnte, die auf der Kommandozeile bzw. in der Konsole laufen. Daher habe ich mich gerade einmal auf die Suche gemacht um eine Möglichkeit zu finden, wie man CI doch auch auf der Konsole nutzen kann. Neben mehreren umständlichen Varianten bin ich auf die folgende Möglichkeit von phpstarter.net gestoßen, die schlicht, einfach und wirklich gut ist:

Man kopiert die index.php des Codeigniter-Frameworks in eine cli.php-Datei. Folgenden Code setzt man an den Anfang des Skripts:

#!/usr/local/bin/php
/**
* only a few lines of code will make the best web framework
* function on the command line
*/

/* we don't need to be limited by...normal limitations */
set_time_limit(0);
ini_set('memory_limit', '256M');

/* make sure this isn't being called by a web browser */
if (isset($_SERVER['REMOTE_ADDR'])) die('Permission denied.');

/* set some constants */
define('CMD', 1);

/* manually set the URI path based on command line arguments... */
unset($argv[0]); /* ...but not the first one */
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'] = '/' . implode('/', $argv) . '/';

Mit einem simplen Aufruf von

php cli.php controller methode

lässt sich nun jede beliebige Methode der Controller auf der Kommandozeile ausführen. Dieses Vorgehen wird mir in Zukunft sicherlich einiges an Zeit und Mühe sparen – wirklich eine feine Sache.

1 Comment + Add Comment

  • PERFEKT!

    Genau das habe ich gesucht …

Got anything to say? Go ahead and leave a comment!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Mein Skillset

  • OOP
  • Java
  • Android
  • Facebook Entwicklung: FBML & Co.
  • PHP mit CodeIgniter, Zend Framework
  • Javascript / AJAX mit jQuery
  • MySQL
  • (X)HTML, CSS, XML, JSON etc.
  • SVN zum source code management (SCM)
  • Kontakt

    Mail: mail {at} benjaminmock.de
    Mobil: 0176 32077839

    Your Name(required) / Ihr Name (Pflichtfeld)

    Your Email (required) / Ihre Email (Pflichtfeld)

    Your message / Ihre Nachricht

  • Kategorien

    Benjamin Mock