PDA

Orijinalini görmek için tıklayınız : PHP-GTK nin kurulumu


kurtkuzu
10-11-2007, 23:25 PM
PHP-GTK kurulumu ile ilgili özet bir yazı. Kurulum sırasında karşılaşılabilecek hatalarda anlatılmış. *nix ve Windows sistemleri'nden kurulumları da anlatılmış.
PHP-GTK nin *nix sistemlerde kurulumu

Debian kullanıcıları PHP-GTK binary kodlarını www.debian.org adresinden
indirebilirler.

PHP-GTK,kurulumuna başlamadan önce birkaç pakete ihtiyaç duymaktadır

PHP 4.3.4 versiyonu veya bir üst sürümü GTK+ kütüphaneleri, www.gtk.org/download adresinden temin edebilirsiniz yada sisteminizde bulunan gtk ve gtk-devel paketlerini kullanabilirsiniz.

libtool, automake ve autoconf.

libtool 1.4.2,automake 1.4 ve autoconf 2.13in çalıştığı bilinen kombinasyonları; diğer versiyon kombinasyonlarıyla uyumsuzluk gösterebilir.

Kaynak kodları http://gtk.php.net/download linkinden veya anonim olarak www.php.net/anoncvs.php CVS den alabilirsiniz.

http://gtk.php.net/wiki/Resources/Installation adresinden PHP-GTK kurulumunun nasıl yapılacağını ekran görüntüleriyle desteklenmiş bir biçimde sade olarak anlatmaktadır.

Kaynak kodları yüklediginiz klasör içerisinde ./buildconf komutunu çalıştırın.Bu gerekli dosyaları ayarlayacak ve configure dosyasını oluşturacaktır.Sonra, ./configure komutunu çalıştırın. Bu, derleme için gerekli olan Gtk+ 1.2.x (1.2.6 veya bir üst sürümünü www.gtk.org/download adresinden edinebilirsiniz) ve diğer dosyaların doğru versiyonları olduğunu kontrol edecek ve gerekli olan Makefile leri oluşturacaktır.
Son olarak, eklentileri derlemek için Make komutunu çalıştırın.
Bazı kaynak kodları kod derleyicisi tarafından .defs dosyalarından oluşturulmuşlardır. "Could not write..." gibi bir mesaj alırsanız, bunun anlamı listelenen Gtk+ nesneleri veya özellikleri henüz desteklenmemektedir.

Hata giderimleri:

./configure veya make komutuyla karşılaşılabilecek genel problemler:

./configure: line 3027: `PHP_GTK_ARG_ENABLE(debug,whether to include debugging symbols,', şeklinde hata alırsanız şunları yapın:

./buildconf
aclocal
./buildconf
./configure

./ltconfig:
ltconfig : No such file or directory, configure: error: libtool configure failed
nedeni libtool,automake veya autoconf tan birinin olmamasından kaynaklanmaktadır.

./aclocal.m4:813: error: m4_defn: undefined: _m4_divert_diversion
autoconf’un uyuşmayan bir versiyonunun bulunmasindan kaynaklanir,yukarida önerilen versiyona bakin.

php_gtk+.c:33: parse error before `TSRMLS_DC'
bunun sebebi ya sistem tarafindan derlenen PHP nin eski bir versiyon oluşu yada php-gtk nin PHP nin eski bir versiyonu ile derlenmeye çalişilmasindan kaynaklanmaktadir.Bu durumu düzeltebilmek için lütfen PHP yi PHP 4.3.4 veya daha üsr bir sürümüne yükseltin.

gen_gtk.c:1: parse error before '<'
bu durum genellikle derleyiciden kaynaklanmaktadir.Genellikle bu sorun generator/generator.php dosyasinin ilk satirina ini_set("memory_limit", "32M");
girilmesiyle çözülür.Bu durumda dizindeki gen_* dosyalarinin tümünü kaldirmaniz gerekecektir.

checking for gnome-config... Unknown library `gtkhtml' (from ./configure) bu durum eski veya sistemde mevcut olmayan geliştirme header dosyasindan kaynaklanmaktadir –Bir rpm dosyasından yada benzeri bir sistem paketinden yükleme yaptı iseniz -devel paketlerine ihtiyacınız olacak

Unable to find -lgal veya benzeri mesajın sebebi gal-devel veya benzeri kütüphanenin eksikliğinden kaynaklanmaktadır.Genellikle bu durum gtkhtml gibi çok kompleks widgetlerin birçok altbağımlı olan paketlere gereksinim duymalarından kaynaklanacaktır.

Eklentileri test edebilmek için test dizinindeki PHP betiklerini çalıştırmayı deneyin.Bunlar ayrıca PHP-GTK nin ve eklentilerinin kullanımın şeklini gösterir.


Windows da Kurulum

http://gtk.php.net/download adresinden windows için derlenmiş olan sıkıştırılmış dosya biçimindeki dosyayı indirip belirlediğiniz bir klasöre açın. Örnek olarak C:\pgtk adında bir klasör oluşturup dosyaları bu dizine açabilirsiniz.Dosyalar açıldıktan sonra klasöre gidip WİNNT klasörü içerisinde bulunan php.ini dosyasını ana klasörde bulunan PHP4 klasörüne taşıyın (bizim örneğimizde ana klasör C:\pgtk).
Php.ini dosyasını açarak “extension_dir=” anahtarını bularak PHP eklentilerinin bulunduğu yolu girin.(örneğimizde bu extension_dir=”c:\pgtk\php4” şeklinde olacaktır.)
Oluşturduğunuz PHP betiklerini çalıştırmak için komut satırını açıp
[sürücü]:\[PHP dizini]\php.exe örnek_dosya.php şeklinde çalıştırabilirsiniz.
Bizim örneğimizde bu C:\pgtk\php4\php ornek_dosya.php şeklinde olacaktır.
Bu şekilde çalıştırma dışında, .php uzantılı dosyaları PHP klasörü içerisinde bulunan php_win.exe programı ile ilişkilendirir iseniz komut satırından çalıştırmak yerine direkt olarak php dosyalarının üzerine çift tıklayarak çalıştırabilirsiniz. Bu durumda konsol (MSDos) penceresi de görüntülenmez. PHP kodlarınızı php_win ile çalıştırırken programınızda olan hataları göremezsiniz. Bu durumu düzeltmek için şunu yapmalısınız:
Php.ini dosyasını açın ve altta verilen anahtarları bularak aşağıdaki şekilde düzeltin.
log_error=On
error_log_file=hata.txt

Bu ayarlar size php_win.exe ile çalışırken bir hata olması durumunda hatayı hata.txt adlı dosyaya yazar ve bu dosyayı php dosyasını nerede çalıştırıyorsanız orada oluşturur, böylece hata olması durumunda hata.txt dosyasını açarak hatayı nerede yaptığınızı görebilirsiniz.

php.ini dosyasına dair bazı püf noktaları

php.ini dosyasının alt satırına ekleyeceğiniz aşağıdaki anahtarlar şu faydaları sağlar:

[PHP-GTK]
; For Win32 only.
php-gtk.extensions=php_gtk_combobutton.dll, php_gtk_libglade.dll, php_gtk_scrollpane.dll, php_gtk_spaned.dll, php_gtk_sqpane.dll,php_gtk_scintilla.dll,php_gtk_e xtra.dll
php-gtk.codepage=CP1254

; For Unix only.
;php-gtk.extensions=php_gtk_combobutton.so, php_gtk_libglade.so, php_gtk_scrollpane.so, php_gtk_spaned.so, php_gtk_sqpane.so


php-gtk.extensions anahtarı ile php_gtk de kullanacağınız kütüphaneleri sorunsuz bir şekilde kullanmanızı sağlar. Dikkat etmeniz gereken husus, bu anahtarda belirtmiş olduğunuz kütüphanelerin eklenti dizininde bulunması gerekmektedir.

php-gtk.codepage anahtarı ile dil kodlamasını ayarlayabilirsiniz.

NOT: Yalnız dil kodlamasını Türkçe ye ayarlamış olsanız bile (yukarıdaki anahtar Türkçe dil desteğini sağlar *nix kullanıcıları için ISO-8859-9 olmalıdır) tam olarak Türkçe desteğine kavuşulmuyor. Bu php-gtk I in eksiklerinden biri ve bunu php-gtk II içerisinde Pango modülünü kullanarak aşma çalışmaları bulunmakta.