PDA

Visualizza la versione completa : Richiamare funzioni php


powerflash2
07-04-2007, 14:15
semplice quanto forse banale domanda:

possibile richiamare un script php da un file perl?

in pratica ho uno script perl all'interno di un ciclio for adun certo punto devo richiamare una funzione php che si trova su un altro file, passandogli dei valori nella funzione stessa.

andiamo per ordine:

1) Come faccio ad includere il file php nel file perl principale?
2) come richiamo la funzione php nel codice perl?

non programmo in perl ma da quel poco che ho visto nel file le sintassi sono quasi identiche

powerflash2
07-04-2007, 16:10
sto cercando di caricare il modulo

use PHP::Interpreter;

ma non v, lo script si blocca

shishii
07-04-2007, 19:11
Che tipo di errore ti da?

hai visto anche:
http://search.cpan.org/~karasik/PHP-0.11/PHP.pm

powerflash2
08-04-2007, 10:49
cosi com' sto utilizzando lo script mi rimane difficile vedere l'errore, solo che vedo la funzione non andare avanti correttamente.

c' un modo per stampare l'errore?

in pratica la pagina .pl viene richiamata tramite un javascript quindi non ricaricando nessuna pagina, l'output dello script viene stampato su un div non posso vedere l'errore.

ho provato anche con use PHP; ma niente lo script si blocca

powerflash2
08-04-2007, 11:03
ho provato a metterlo qu

use strict;
use lib qw(.); # Add current directory to list of valid paths
#use CGI::Carp 'fatalsToBrowser'; # Dump fatal errors to screen
use CGI qw(:cgi); # Load the CGI.pm module
use uu_lib; # Load the uu_lib.pm module
use PHP::Interpreter;

Ho fatto fare anche il check dal server ma niente

ho provato anche use PHP;

powerflash2
08-04-2007, 12:45
ecco l'errore

Can't locate PHP.pm in @INC (@INC contains: . /usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl) at uu_upload.pl line 59.
BEGIN failed--compilation aborted at uu_upload.pl line 59.

e sto PHP.pm dove lo vado a prendere??

shishii
08-04-2007, 15:25
Devi installare il modulo.

Il metodo dipende dal sistema operativo e dai permessi che hai.

Se sei su windows devi essere per forza amministratore e devi digitare dal prompt di dos:

> ppm install PHP

se invece sei su linux puoi usare due sistemi.

se sei amministratore puoi usare dalla shell.

> perl -MCPAN -eshell
dopo avere accettato i default di eventuali domande
> install PHP

altrimenti se sei solo un utente devi scaricarti da cpan il file tar.gz del modulo scompattarlo nelle tua home, dare il comando:

> perl Makefile.PL

aprire con un editor il file "Makefile" e modificare le seguenti variabili:

PREFIX = /home/tuo_account
PERLPREFIX = /home/tuo_account
SITEPREFIX = /home/tuo_account
VENDORPREFIX = /home/tuo_account

proseguire con:

> make
> make test
>make install

powerflash2
09-04-2007, 09:38
ho eseguito questa ocme root


> perl -MCPAN -eshell
dopo avere accettato i default di eventuali domande
> install PHP


per vedo che compaiono molti warning e syntax errore, in diverse righe del file PHP.c ... normale?

powerflash2
09-04-2007, 09:39
ops... non credo che l'abbia installato


/usr/bin/make -- NOT OK
Running make test
Can't test without successful make
Running make install
Make had returned bad status, install seems impossible
Failed during this command:
KARASIK/PHP-0.11.tar.gz : make NO

shishii
09-04-2007, 12:09
dovresti copiare incollare qui gli errori che ti dava.

Loading