Newsgroup: it.comp.www.php
Titolo: php-gtk

chi usa questa estensione? mi può aiutare?
Sono un principiante. sotto windows riesco a far girare
tutte le applicazione scaricate e gli esempi, ma in linux,
pur avendo installato tutto ricevo questo errore:
Warning: dl(): Unable to load dynamic library
'/usr/lib/php/extensions/php_gtk.dll'
- /usr/lib/php/extensions/php_gtk.dll: cannot open shared object file: No
such file or directory in /home/salvatore/Desktop/gkt-php/window.php on
line 5
Fatal error: Cannot instantiate non-existent class:  gtkwindow
in /home/salvatore/Desktop/gkt-php/window.php on line 8

 
Dovresti leggere il manuale alla pagina relativa alla funzione che ti 
restituisce l'errore: 
http://it.php.net/manual/it/function.dl.php
----8<--------8<--------8<--------8<--------8<--------8<--------8<----
dl
(PHP 3, PHP 4 , PHP 5)
dl -- Carica i moduli del PHP a runtime
Descrizione
int dl ( string library )
La funzione carica il modulo di PHP passato nel parametro library. Il 
parametro library indica soltanto il nome del file del modulo da 
caricare il quale può dipendere dal piattaforma utilizzata. *Ad esempio 
il modulo sockets (se compilato come modulo condiviso, non è il 
default!) sulle piattaforme Unix si chiama sockets.so, mentre in Windows 
si chiama php_sockets.dll.*
----8<--------8<--------8<--------8<--------8<--------8<--------8<----
eccetera....
guarda l'esempio 1.
Devi trovare il modulo (.so) per la tua distro (in alcune potrebbe 
esistere già il pacchetto binario) oppure devi compilare
Guarda anche 
http://gtk.php.net/manual/it/installunix.php
Ciao
-- 
        C                     F
  per fortuna il mio razzismo non mi fa guardare
          C                        F
  quei programmi demenziali con tribune elettorali

grazie per l'aiuto,
ma sinceramente ci ho capitpo poco,
lo script che tento di aprire è questo semplice esempio:
<?php
// Load the PHP-GTK extension
$extension = "php_gtk" . (strpos(PHP_OS, "WIN") >= 0 ? ".dll" : ".so");
dl($extension);
// Create a new window
$window = &new GtkWindow();
$window->set_title("Test App");
$window->set_usize(300, 100);
$window->set_position(GTK_WIN_POS_CENTER);
$window->set_policy(false, false, false);
// Set a callback function for the destroy signal
$window->connect("destroy", "killwin");
function killwin()
{
echo("Window Destroyed!\n");
gtk::main_quit();
}
// Show the window
$window->show_all();
// Start the main PHP-GTK listener loop
gtk::main();
?>
Io tento si eseguirlo con
$ php windows.php
Devo passargli qialche parametro ulteriore?
Ho controlato le mie librerie, in questo caso, php_gtk.so ed è ok
Devo settare qualcosa nel mio php.ini?
Se per capirci meglio hai bisogno di altre informazioni sulla mia distro,
chiedi? Io praticamente ho tutto, preso dai binari di mandrake 10.1.
Grazie per la pazienza
Ciao
Salvatore

 Devo settare qualcosa nel mio php.ini?
L'errore è il medesimo, quindi non trova il modulo?
Se l'hai installato dai pacchetti probabilmente il modulo viene caricato 
da php.ini, ed è strano che quindi il modulo non venga trovato (verifica 
con 'php -m' da linea di comando).
Verifica anche il percorso del modulo: dovrebbe trovarsi nella 
extension_dir del php.ini
Un'ultima cosa: sei sicuro del nome del modulo? Di norma solo i moduli 
per win (le .dll) hanno il prefisso 'php_' nel nome.


 /usr/lib/php/extensions/php_gtk.so
Tutti i moduli stanno in /usr/lib/php/extensions/?
verifica ad esempio il percorso di 'xslt.so'


 
è vero mi sono accorto di avere anche un php5 e lì in extensions ho tutto
il resto, anche xslt.so ... e allora che faccio?

ho anche un'altro modulo installato qui:
/usr/lib/php-pcntl/lib/php/extensions/no-debug-non-zts-20020429/php_gtk.so
sarà il frutto di una mia disperata ulteriore installazione da sorgenti,
credo di aver fatto un bel pastrocchio.

 il resto, anche xslt.so ... e allora che faccio?
hai installato sia il php4 che il php5?
'php -v' che dice? che versione hai in uso di php-cli?
Se la 5 allora prova ad installare il modulo php_gtk per quella 
versione, o viceversa, se applicabile.
Ciao


 
in effetti la versione in uso è la meno recente:
[salvatore@libero salvatore]$ php -v
PHP 4.3.8 (cli) (built: Jul 30 2004 13:00:16)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
[salvatore@libero salvatore]$