[PHP-GTK2] Installation


[PHP-GTK2] Installation


Cet article decrit l'installation de PHP-GTK2

Ze begining


Çà faisait longtemps que je ne m'étais pas mis à PHP-GTK. Ce soir je me suis dit, qu'il serait temps de voir ce qu'il y a de nouveau dans la nouvelle version (PHP-GTK2).

Pour info php-gtk est une extension de php qui permet de créer des applications graphiques (basé sur GTK).
Ayant déjà php d'installé sur ma machine, il me fallait l'extension php-gtk

Installation PHP GTK2

Pour info j'ai la distribution GNU/Linux Ubuntu 7.04, l'installation devrait pas trop changer pour votre distribution. Je lance donc Synatics pour rechercher php-gtk, introuvable dans les depôts officielles.
Ayant la flème de chercher dans d'autres dépôt, je me suis dit que je vais l'installer à la mano. Après tout, le but est de faire un tour rapide, et non pas de l'installer définitivement.
Je chope donc les sources de la version bêta. Le site est :
http://gtk.php.net/download.php
puis je decompresse le targz
# tar xvzf php-gtk-2.0.0beta.tar.gz
et je lance le phpizing
# cd php-gtk-2.0.0beta
# phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
configure.in:25: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure:3962: error: possibly undefined macro: AM_PATH_GLIB_2_0
configure:4092: error: possibly undefined macro: AM_PATH_GTK_2_0

woopsy
en voila de quoi demotiver les gens dés le debut :)
je verifie ma version automake (1.9), libtool, lib-gtk2 et lib-glib2
tout parait niquel.

je me rappele alors que j'ai peut etre deux version PHP installé sur ma machine :D
un seul moyen pour s'en assurer, forcer l'utilisation de phpize5
# ./buildconf --with-phpize=/usr/bin/phpize5

et la sa passe niquel

On lance maintenant la configuration.
# ./configure [*]
[*] si le configure n'a pas marché chez vous, consulter la section annexe pour trouver à le recherche de votre erreur.  si ca marche toujours pas verifier que vous avez telechargé la bonne version de php-gtk2 (en fonction de la glib/gtk installé). 

Reste plus qu'a compiler l'extension avec :
# make

et vala mon extension qui est prete dans modules/

je la copie alors dans le repertoire des extensions, chose qui peut  être faite aussi avec
# sudo make install

Le repertoire des extensions peut etre trouvé avec
# php-config --extension-dir

ou php-config5, assurez vous que c'est le bon si vous avez plusieurs version de php installé.

vala reste plus qu'a charger notre extension dans le php.ini en rajoutant dedans:
extension=php_gtk2.so

On verifie ensuite que l'extension est bien chargé :
# php -i | grep GTK
GTK+ support => enabled
GTK+ v => 2.10.11
GTK_RC_FILES => /etc/gtk/gtkrc:/home/aissam/.gtkrc-1.2-gnome2
_SERVER["GTK_RC_FILES"] => /etc/gtk/gtkrc:/home/aissam/.gtkrc-1.2-gnome2
_ENV["GTK_RC_FILES"] => /etc/gtk/gtkrc:/home/aissam/.gtkrc-1.2-gnome2

Tout est ok donc :)

Reste plus qu'a coder :F

Extension GLADE

L'extension glade de php-gtk permet d'utiliser les fichiers xml .glade. C'est fichier sont generé par Glade (ou autre) qui est un outil graphique de création des interfaces utilisateurs (style VB si vous venez du monde Winduab).
Pour l'utiliser il faut verifier que la lib-glade2 a bien été trouvé au moment de l'installation.
Si vous n'êtes pas sur relancer le ./configure, vous devriez avoir un truc comme ca

checking for libglade support... yes
checking for libglade-2.0 >= 2.4.0... yes



Vala, il vous reste plus qu'a tester des applications existantes ou encore coder votre propre appli, le site php-gtk contient pas mal de tutoriaux. commencer par un hello world facile et ameliorer le au fur et à mesure :)


Annexe

cet annexe presenter les erreurs que vous que j'avais déjà rencontré avec GTK.

Echec de phpize

# phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
configure.in:25: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure:3962: error: possibly undefined macro: AM_PATH_GLIB_2_0
configure:4092: error: possibly undefined macro: AM_PATH_GTK_2_0

Essayer de le relancer en forceant l'utilisation de phpize5
# ./buildconf --with-phpize=/usr/bin/phpize5

Mauvaise version ou manque de GLIB

checking for GLIB - version >= 2.6.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.

Verifiez que vous avez la bonne version de glib (supperieure 2.6 minimum), si c'est le cas assurez vous que glib-devel est installé aussi.

Mauvaise version ou manque de GTK2

checking for GLIB - version >= 2.6.0... yes (version 2.14.1)
checking for pkg-config... (cached) /usr/bin/pkg-config
checking for GTK+ - version >= 2.6.0... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
configure: error: PHP-GTK 2.x requires GTK+ 2.6.0 or higher

Verifiez que vous avez la bonne version de glib (supperieure 2.6 minimum), si c'est le cas assurez vous que glib-devel est installé aussi.

Installation reussi, mais Glade2 absent

Verifiez qu'au moment  de la configuration lib-glade2 a bien été detecté.
par exemple en éxcutant :

./configure | grep libglade
checking for libglade support... yes
checking for libglade-2.0 >= 2.4.0... Unable to locate libglade version 2.4.0 or higher: not building

Si libglade est belle est bien installé, alors il faudra surrement installer les headers (package libglade2-devel)


Poster un commentaire:

Nom/Name
Comment.

#.MrTuTu (20 Mar 2008 - 15:33)

merci merci merci merci merci merci merci merci merci merci merci merci merci merci merci merci merci merci
je me suis aussi fait avoir avec le --with-phpize=/usr/bin/phpize5
#.Yannick (30 Nov 2007 - 20:25)

Il n'y a pas encore de dépôt testing pour php-gtk2 :o J'essaierai ça sur ma debian ce week-end :)
 1
2 commentaires