Newsgroup: it.comp.os.linux.sys
Titolo: PHP3

Buonasera al newsgroup.
Ho la distribuzione Mandrake 6.1, usando la quale dovrebbero venire
automaticamente installati ed attivati Apache, MySQL e PHP3.
Seguendo i consigli di WebMonkey ho salvato sul mio sito il file
text.php3, al fine di stampare il messaggio Hello World e procurarmi le
variabili.
Ma quando visualizzo la pagina web mi appare l'edit dello stesso file:
<html>
<body>
<?php
$myvar="Hello World";
echo $myvar;
</body>
</html>
Dov'č l'errore?
Grazie per le eventuali risposte.
Sent via Deja.com 
http://www.deja.com/
Before you buy.

Dov'è l'errore?
spero di non sparare cazzate ma... il tag <?php> non dovrebbe avere 
un corrispondente di chiusura ? 


>Ma quando visualizzo la pagina web mi appare l'edit dello stesso file:
...
1. Hai abilitato il modulo del php3 in /etc/httpd/conf/http.conf ?
    LoadModule php3_module        modules/libphp3.so
2. Hai decommentato le seguenti linee (basta la prima) nello stesso file
(o in srm.conf o access.conf) ?
    AddType application/x-httpd-php3 .php3
    AddType application/x-httpd-php3-source .phps

     AddType application/x-httpd-php3-source .phps
queste righe c'erano già e decommentate in httpd.conf, e le ho lasciate
così.
Risultato, purtroppo, tutto come prima. Comunque in fondo al file
httpd.conf c'è una serie di Include, fra cui uno che rimanda al file
conf/addon-modules/mod_php3.conf.Questo è l'edit di questo file:
LoadModule php3_module             /usr/lib/apache/libphp3.so
AddModule mod_php3.c
Ho il sospetto che sia una diversità della mandrake 6.1, ma non
ne sono sicuro.


AddModule mod_php3.c
In effetti queste dovrebbero fare lo stesso lavoro di quella che ti
ho fatto aggiungere io...
prova a creare un file (chiamalo pippo.php3) che
contiene solo:
<? phpinfo() ?>
e poi caricalo nel tuo browser: 
http://localhost/pippo.php3
che succede?
Altra cosa: nel file di configurazione dovrebbero esserci una
serie di linee commentate, tipo:
#<Location /server-status>
#  SetHandler server-status
#  order deny,allow
#  deny from all
#  allow from .
your_domain.com
#</Location>
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .
your_domain.com
#</Location>
Decommentale, adattale al tuo server, e verifica che i moduli
mod_status e mod_info. Poi fai ripartire apache, e dai un'occhiata
alle pagine 
http://www.tuoserver.home/server-status
 e
http://www.tuoserver.home/server-info
 ;
Dovrebbero dirti se il modulo php3 è caricato correttamente e
come sta' di salute...


Grazie comunque dei consigli, sono stati finora molto utili.





 Dopo aver sbagliato metodo, ho messo il file di prova prova.php3 nella
directory /home/httpd/html e andando su localhost/prova.php3 il phpinfo
mi dà una sfilza di informazioni lunghissima.
Rimane ora solo il problema del visualizzare sul mio sito la pagina con
scritto Hello World.
Scusate del post al mio post.


mi riconosce la password, come utente sě, ma mi copia un file di 0 byte.
Perchč ti colleghi via ftp? Lavori su un server remoto o sulla tua
macchina locale? Nel primo caso vada per ftp, ma devi accedere
usando un utente abilitato a scrivere in /home/httpd/html ("root"
per ragioni di sicurezza *NON* deve essere abilitato ad accedere
via ftp per *NESSUN MOTIVO*); oppure, collegati via telnet e
ti riconduci al ... secondo caso: da console entra in /home/httpd/html,
con un editor qualunque crea il file di cui sopra, e poi, da netscape,
carica la pagina:
 
http://localhost/pippo.php3

> > #</Location>
No. Devi mettere l'elenco dei domini a cui č concesso accedere a quella
risorsa.
Se il server č il tuo stesso PC č sufficiente:
  <Location /server-status>
       SetHandler server-status
  </Location>
  <Location /server-info>
      SetHandler server-info
  </Location>
Le clausole deny/allow servono per limitare l'ambito di chi puņaccedere al
tuo server. Guardati bene il manuale on-line di Apache, che ti spiega bene
come usare queste direttive, con tanto di esempi.

Dopo le modifiche all'httpd.conf, collegandomi con localhost/server-info
e localhost/server-status ottengo una sfilza di variabili, da cui
risulta che il modulo php3 funziona.
Ma non riesco ancora a visualizzare la pagina php3 che ho scaricato nel
sito su 
virtualave.net


 Scrivendo 
nomesito.virtualave.net/status
 ottengo :
 Forbidden , you don't have permission to access/status on this server
 Scrivendo 
nomesito.virtualave.net/info
 ottengo:
 File not found


 File not found
Se non hai modificato nulla, dovrebbe essere:
http://nomesito.virtualave.net/server-status
 e
http://nomesito.virtualave.net/server-status
In ogni caso, ripeto, guardati l'help per quello che riguarda le direttive
allow/deny.


Dunque, nell'httpd.conf le uniche cose che ho modificato, dopo il tuo
precedente consiglio, sono:
Ho aggiunto server-info, ed ho tolto gli order i deny e gli allow dalle
righe sottostanti le <Location> poichè il mio server è il mio pc.
La situazione rimane questa: visualizzando la pagina
localhost/prova.php3, ottengo con phpinfo  moltissime informazioni.
Visualizzando la pagina localhost/testo.php3, che contiene un'echo,
visualizzo Hello World.
Visualizzando la pagina 
nomesito.virtualave.net/server-status
 o
.../server-info, ottengo File not found.
Visualizzando la pagina 
nomesito.virtualave.net/testo.php3
 ottengo una
pagina vuota.
Ho guardato nel manuale di apache le direttive order, deny e allow, e
mi sembra di aver fatto le scelte giuste, ma probabilmente no, visto
che sul mio sito virtualave le pagine php3 appaiono vuote.


Azzardo alcune possibilità:
1) Hai impostato ServerName a: 
nomesito.virtualave.net
 ?
2) Hai configurato il DNS per mappare 
nomesito.virtualave.net
   oppure hai impostato  tale mapping in /etc/hosts (sul client)?
3) Non è che stai tentando di usare un VirtualHost e non
   hai impostato correttamente qualche DocumentRoot?


C'è un modulo in httpd.conf, vhost_alias.c, decommentato, e degli
include che richiamano il file di configurazione vhost0.conf e  i
file di configurazione midgardphp3.conf e mod_midgard.conf, decommen-
tati. I file midgard presumo siano una diversa configurazione dell'host.


...
Questo non dovrebbe essere un problema: gli host virtuali si abilitano
con la direttiva VirtualHost (fornita dal modulo che citi tu), cosa che
tu evidentemente non hai fatto.

 >>    oppure hai impostato  tale mapping in /etc/hosts (sul client)?
in etc/hosts ho messo l'indirizzo numerico fornitomi da nslookup
in etc/resolv.conf ho messo nomeserver con l'indirizzo numerico
fornitomi sempre da nslookup
Ho fatto il reboot.
La situazione rimane quella di prima.
Nslookup, dopo averlo lanciato, mi dice che per quell'address non trova
risposta, trovando solo l'address di tiscalinet che è il mio provider.
Uso kppp a proposito, se può servire a risolvere la cosa.
Non so se c'entra, ma sullo stesso sito virtualave girano correttamente
dei miei moduli cgi scritti in perl.Io in realtà volevo provare il php3
per
conoscere una cosa nuova di linux, ma il settaggio dei DNS è complicato,
sembra.


Non ho capito qual'è la tua situazione.
Il client ed il server sono la stessa macchina?
In caso negativo, il server è nella tua rete locale?
Cosa succede se, da console, fai un bel:
    ping 
nomesito.virtualave.net

     ping 
nomesito.virtualave.net
PING 
nomesito.virtualave.net
 (numero sito): 56 data bytes
64 bytes from  (numero sito):icmp_icmp=0 ttl=241 time=351.8 ms
64 bytes from  (numero sito): icmp_seq=1 ttl=241 time=319.8 ms
64 bytes from  (numero sito): icmp_seq=2 ttl=241 time= 310.0 ms...
etc etc (una sfilza di variabili interminabile)


64 bytes from  (numero sito):icmp_icmp=0 ttl=241 time=351.8 ms
Questo è ok


Non ne sono sicuro, effettivamente.
Da quello che so, hanno abilitato il SSI ed il supporto cgi-bin.
C'è un modo per saperlo, oltre quello di  mandare una mail al supporto
di virtualave, o lo posso abilitare io (ma ne dubito...)?


sito su 
virtualave.net
        ^^^^^^^^^^^^^^^^
Ma sei sicuro che abbiano apache+php su questa macchina ?


Non ne sono del tutto sicuro.
Ho cercato di visualizzare 
nomesito.virtualave.net/file
 inesistente
mi ha risposto file not found, non apache web server 1.3.etc etc
file not found...
Ho scaricato sul mio sito in tiscali (che ha apache 1.3.4) il file
text.php3, ma visualizza solo l'edit del file.
Conoscete per caso un server che possiede apache + motore php3?
--
Linux Counter #70122


o lo posso abilitare io (ma ne dubito...)?
Certo: hackerandogli il sistema! ;o)


Ho caricato la cgi che mi hai consigliato. Ecco l'output:
Sono in esecuzione in : Apache/1.2.6
Se implemento un tag php3 in una pagina cgi su questo server, non
funziona, vero?


funziona, vero?
No. Il modulo php3 non sembra caricato.
Comunque prova a chiedere al provider. Immagino che non
accetteranno mai di ricompilare apache, però PHP3 può essere
anche compilato *non* come modulo *ma* come applicazione
CGI esterna (al pari di Perl). Certo è un po'meno efficiente, ma,
ma meglio di niente...


Il provider mi ha  risposto di fare un'abbonamento,e poi posso fare
quello che voglio.
In realtà volevo provare il linguaggio php3, come sto provando il
perl, per questo mi accontento di siti gratuiti, al momento.
Proverò a fare una cgi esterna, vorrei che leggesse
i dati dai database postgresql o mysql (...ho il sospetto di chiedere
troppo all'applicazione, però).
A proposito buon anno a te e a tutti i "colleghi" del newsgroup!


 di virtualave, o lo posso abilitare io (ma ne dubito...)?
Virtualave.net non da' supporto PHP3.
Solo perl (e gli script devono avere estensione .cgi senno' ciccia...) e
SSI.
-- 
Lorenzo Pulici - 
sno...@tiscalinet.it
  - Web Design
http://milanohockey.virtualave.net
 
http://snowdog.cjb.net
http://verdebaggio.freeweb.org
 
http://members.xoom.com/Ramones/
   PGP ID: 1D33 3DE6 635E D192 F648  74D9 28A7 E921 3E1A 44F2


No, i miei script .pl girano su virtualave, bisogna riconoscerlo.
L'unico appunto (oltre ad non avere il supporto PHP3...) è che
nelle FAQ sostengono che non serve cambiare i permessi agli script,
ma io per farli girare ho dovuto fare chmod 755 come sempre.


troppo all'applicazione, però).
Piu' che altro, sul server non basta che ci sia PHP3: ci deve essere
anche PostgreSQL!
Leonardo
".signature": bad command or file name


Per scoprirlo basta il phpinfo ? A quanto ho capito nella colonna di
sinistra della schermata del phpinfo deve apparire la scritta mysql o
postegresql, ma nella colonna di destra quali variabili mi confermano
che effettivamente il database sia supportato o basta la semplice
scritta?
Grazie per le eventuali risposte.


scritta?
Prova a fare una connect e' vedi cosa ti risponde.

In article <slrn87egg...@localhost.localnet>,

ok...ci provo!
