Créé par Loïc d’Anterroches, Photon1 est un micro framework PHP distribué sous licence LGPL qui fonctionne au-dessus du serveur web Mongrel2 et du service de messagerie asynchrone ØMQ2.
Voici un petit guide d’installation pour ce framework PHP pas comme les autres.

Pré-requis

Je considère que vous disposez sur votre système d’une version de PHP 5.3 installée via macports, à l’aide du port php5.

Photon effectue des contrôles de processus. Pour ce faire, la présence de l’extension PHP PCNTL est obligatoire.
Vérifiez que vous la possédez :

$ php -i | grep pcntl
/opt/local/var/db/php5/pcntl.ini,
pcntl
pcntl support => enabled

Si ce n’est pas le cas, lancez une installation macports :

$ sudo port install php5-pcntl

Mongrel2 requiert SQLite et ZeroMQ. Aussi, s’il n’est pas encore présent dans votre environnement de développement, il sera bon d’installer XDebug.
Vérifiez la présence de ces pré-requis sur votre poste :

$ port installed sqlite3 zmq php5-xdebug
The following ports are currently installed:
  php5-xdebug @2.1.0_0 (active)
  sqlite3 @3.7.5_0 (active)
  zmq @2.0.10_0 (active)

S’il vient à manquer des ports dans la liste ainsi générée, installez-les avec la commande port install :

sudo port install zmq

Dans le cas où vous ne possédez aucune de ces libraires, vous pouvez les installer en une unique commande

sudo port install sqlite3 zmq php5-xdebug php5-pcnt

Installer Mongrel2 sous Mac OS X Snow Leopard

Contre toute attente, au moment où cet article est rédigé, Mongrel2 n’est pas disponible dans macports. Qu’à cela ne tienne, procédez à son installation depuis les sources :

sudo port install wget
wget http://mongrel2.org/static/downloads/mongrel2-1.5.tar.bz2
tar xjvf mongrel2-1.5.tar.bz2
cd mongrel2-1.5/
sudo make clean macports install

L’option macports du Makefile ne signifie par que Mongrel2 s’installera dans l’environnement de macports, mais qu’il va utiliser les libraires disponibles depuis cet environnement (soit généralement /opt/local/). Le binaire est généré dans le répertoire /usr/local/bin/ :

which m2sh
/usr/local/bin/m2sh

Installer Photon

L’installation de Photon est des plus simple. En effet, tout passe par PEAR.

Commencez par déclarer les canaux du projet Photon, de l’extension PHP pour ØMQ puis ceux de PHPUnit et ses dépendances :

sudo pear channel-discover dist.photon-project.com
sudo pear channel-discover pear.zero.mq
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no

N’ayez aucune inquiétude quant à la présence des dépendances Symfony et eZ Publish. Ces dernières sont requises par PHPUnit qui n’y récupérera qu’un nombre limité de composants (comme le parser YAML de Symfony) et n’ira pas vous installer les 2 solutions dans leur intégralité.

Il ne vous reste plus qu’à lancer l’installation proprement dite de Photon :

sudo pear install --alldeps photon/photon-alpha
sudo sh -c 'echo "extension=http.so" > /opt/local/var/db/php5/http.ini'
sudo sh -c 'echo "extension=zmq.so" > /opt/local/var/db/php5/zmq.ini'    

Tester votre installation de Photon

L’installation terminée, Photon est accessible par la commande hnu3. Afin de vous en assurer, lancez simplement sa propre batterie de tests unitaires, comme suit :

hnu selftest

Could not open input file: /usr/share/php/photon.php

Si vous rencontrez l’erreur Could not open input file: /usr/share/php/photon.php c’est que vous utilisez une version de Photon inférieure ou égale à 0.0.5. Si à l’heure où je rédige ces lignes la version 0.0.6 de Photon n’est pas disponible, exécutez l’ensemble des commandes ci-dessous pour fixer le problème :

cd ~/Downloads/
wget -O hnu.diff http://projects.ceondo.com/p/photon/source/ddiff/9acba649ae355aaf4b365a1f639961336ae6a323/
sudo patch --no-backup-if-mismatch -i hnu.diff `pear config-get bin_dir`/hnu
rm hnu.diff
cd -

Mettre à jour Photon

Encore une fois, la procédure est des plus simple grâce à PEAR :

$ sudo pear update-channels
Update of Channel "dist.photon-project.com" succeeded
$ sudo pear upgrade photon/photon-alpha
downloading photon-0.0.5.tgz ...
Starting to download photon-0.0.5.tgz (3,937,334 bytes)
...........................................................................done: 3,937,334 bytes
upgrade ok: channel://dist.photon-project.com/photon-0.0.5

Accéder aux sources de Photon

Vous pouvez accéder en local aux sources de Photon dans le répertoire /opt/local/lib/php. Avec TextMate par exemple :

mate -a `pear config-get php_dir`/photon*

Autrement, vous pouvez directement accéder aux sources du projet par la forge Indefero du projet.


Notes

  1. Pour la petite histoire, j’ai donné son petit nom au framework \o/ 

  2. Lire ZeroMQ. S’écrit également ZeroMQ, 0MQ ou ZMQ. 

  3. le nom de la commande hnu vient de ℎν, la notation des photons en chimie et en optique. 

publicité (chargement)

3 réponses pour Photon : guide d’installation sur Mac OS X Snow Leopard

  1. desfrenes dit :

    Merci pour ce tuto !

    Néanmoins… pas de chance pour moi: http://projects.ceondo.com/p/photon/issues/625/

  2. desfrenes dit :

    Problème réglé, pour une raison qui m’échappe j’avais deux binaires php sur ma machine: http://projects.ceondo.com/p/photon/issues/625/

  3. piouPiouM dit :

    Dans macports ? Si oui, c’est effectivement surprenant.
    Tu vas pouvoir jouer avec Photon maintenant /o/

Ajouter un commentaire


Syndication

Réseaux sociaux