Funzione virtual

marcus87

Nuovo Utente
4 Feb 2010
22
0
0
Salve a tutti,
ho un problema con la funzione virtual () nel mio webserver.
Non so come devo impostare apache per permetterne il funzionamento.

Qualcuno ha suggerimenti?
 
ops ho dimenticato questi dettagli:

uso apache 2,2 su ubuntu server.
PHP è la versione 5.2 mi pare...comunque non inferiore alla 5
 
ah... ubuntu server non so come funziona ma su ubuntu desktop crea una cartella in /var/ chiamata www dove inserisci i file tramite terminale con i permessi di amministratore :)
 
mm forse mi sono spiegato male...
Il mio webserver è funzionante ed operativo. Quello che non capisco è come far funzionare la funzione virtual() di PHP, in modo da poter richiamare uno script cgi in una pagina php..
un esempio di utilizzo è questo:

Codice:
<?PHP virtual("/cgi-bin/script.cgi"); ?>

A me purtroppo da un errore, non viene richiamato lo script.
 
In realtà non compare un errore particolare, ma solo un semplice errore del browser, del tipo "impossibile visualizzare la pagina"...
Non riesco a venirne a capo...:confused:
 
Ultima modifica:
Probabilmente non riesce ad eseguire lo script, sicuro che il cgi ha tutti i percorsi giusti?
Sicuro che gli scrpt cgi sono abilitati a funzionare sul tuo server?

Si, i percorsi sono esatti, e se nel browser digito www.miosito.it/cgi-bin/script.cgi lo script funziona alla perfezione. Quello che non funziona è il richiamo dello script tramite una pagina php...non è che sia una tragedia se non ci riesco, anche perché posso sempre utilizzare il link diretto, però sarebbe semplicemente più comodo per una questione di URL breve.
Ad esempio, inserendo nella cartella "pinco" il file index.php contenente il richiamo dello script tramite la funzione virtual, potrei permettere ai visitatori di raggiungere lo script semplicemente digitando "www.miosito.it/pinco", anziché seguire tutto il percorso dello script.
 
Potresti anche usare mod_rewrite per creare dei percorsi virtuali. Invece di creare la cartella pinco crei un file pinco.php sul tuo server e un file .htaccess contenente questo:
Codice:
RewriteEngine On
RewriteRule ^pinco/$ pinco.php
Così digitando http://www.tuosito.com/pinco/ si accederà in realtà a http://www.tuosito.com/pinco.php :)

P.S.: Sul manuale ufficiale di PHP c'è scritto che la funzione virtual() è efficace solo se PHP è installato come modulo di Apache. Tu come lo hai installato?
 
P.S.: Sul manuale ufficiale di PHP c'è scritto che la funzione virtual() è efficace solo se PHP è installato come modulo di Apache. Tu come lo hai installato?

Ho letto anch'io il manuale, e ho notato l'appunto che mi hai citato, però, detto sinceramente, non so neanche che cosa voglia dire PHP installato come modulo di Apache. Perché quanti modi di installarlo ci sono? :)
Io l'ho installato tramite i pacchetti dei repository di ubuntu, e l'integrazione del php in Apache è avvenuta automaticamente.


Per quanto riguarda la mod rewrite credo non faccia al caso mio...
comunque domani provo ad eseguire lo stesso script su un sito hostato da Aruba, vediamo che succede. Se funziona tutto significa che devo sistemare io qualcosa nel mio webserver.
 
Allora ho provato con Aruba. Anche qui non funziona, ma anziché mostrarmi un semplice errore browser, l'errore visualizzato è
"call to undefined function virtual()" che significa che il server non accetta questo tipo di funzione.

Non so più che altre prove eseguire...
 
Allora se lo devi mettere tutto su Afurto :D ti conviene cambiare metodo perché alla fine non potresti comunque usarla.
virtual() è potenzialmente pericolosa come tutto ciò che richiama dinamicamente uno script e lo manda in esecuzione sul server, quindi meglio bloccare certi pericoli, anche se remoti.
Gestisco un server e so di cosa parlo.
Ubuntu solitamente carica PHP come modulo, comunque è facile verificarlo, apri gedit o kwrite se usi KDE e apri il file localizzato in /etc/apache2/modsenabled/ (o mods_enabled/ scusa vado a memoria, comunque quando sei nella cartella vedi il nome del percorso e comprendi al volo) mod_php5.conf insomma ci sono due file relativi al php5, aprili tutti e due, se in uno trovi scritto qualcosa che comincia con mod_php5...eccetera, allora è sicuro che viene caricato come modulo e non come CGI o FastCGI.
 
Ciao, ti ringrazio sulla risposta. No, non devo mettere lo script su Afurto :D. era solo una prova per vedere se lì funzionava (lì ho un altro sito purtroppo:gun:).
Devo metterlo su un server casalingo con ubuntu server. Do un'occhiata ai files che mi hai consigliato di guardare.
Grazie per la dritta!
 
Allora questo è il contenuto dei due files...

a giudicare dal contenuto sembrerebbe che php5 sia installato come modulo...

Però virtual non funziona...mistero?
 

Allegati

  • Immagine2.jpg
    Immagine2.jpg
    13,7 KB · Visite: 191
  • Immagine.jpg
    Immagine.jpg
    21,3 KB · Visite: 249

Discussioni simili