Skip to content
Jan 25 12

Failed opening required ‘phar://…

par Olivier Balais

Chez PMSIpilot, nous commençons à utiliser Behat pour nos tests fonctionnels.
Je ne vais pas m’étendre sur toutes les belles choses que ce framework de bdd apportera au testing de votre projet, il vous suffit de vous rendre sur leur site officiel et de lire leur introduction rapide pour vous en persuader.

Le problème auquel j’ai immédiatement fait face en tentant d’inclure le Phar de Behat est le suivant :

Fatal error: require(): Failed opening required 'phar:///[...]/lib/vendor/behat/behat.phar'

La ligne incriminée ne pouvait pas être plus simple :

include 'phar:///[...]/lib/vendor/behat/behat.phar';

Après avoir interrogé dans toutes les langues et sous toutes les formes mon moteur de recherché préféré, difficile de trouver une explication rationnelle.
Comme souvent, la réponse est venue par l’intermédiaire d’un collègue (merci @jubianchi et @ratibus !) et il s’avère que c’est l’extension ioncube qui était en cause sur mon poste. Si vous avez ce problème, c’est donc peut-être une piste à suivre.

Pour tester si ioncube est activé :

$ php -i | grep -i ioncube
with the ionCube PHP Loader v4.0.5, Copyright (c) 2002-2011, by ionCube Ltd., and
ionCube Loader

Chez moi c’était la version ioncube 4.0.5 qui posait problème. Rassurez-vous néanmoins, une fois la dernière version de ioncube installée, plus de problème à noter ! Apparemment le problème est réglé au moins depuis la version 4.0.9.

Le lien direct pour télécharger la dernière version stable pour une distrib linux 32 bits : http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz

Une fois l’extension décompressée et placée au bon endroit, l’include passe sans encombre.

$ php -i | grep -i ioncube
with the ionCube PHP Loader v4.0.12, Copyright (c) 2002-2011, by ionCube Ltd., and
ionCube Loader

Jan 23 12

Comment trouver la version de son Ubuntu ?

par Olivier Balais

Il est souvent utile de connaître la version de son système d’exploitation. Et si il est assez évident de connaître sa version de Windows tant les changements d’interface sont importants, c’est parfois moins évident d’une distribution Ubuntu à l’autre.
La commande magique pour répondre à ce besoin est tout simplement la suivante :

> lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick

Vous obtenez ainsi votre numéro de version mais aussi son nom de code, Maverick pour moi. Oui je sais, il faut que j’upgrade !