Newsgroup: it.comp.os.linux.sys
Titolo: Aiuto con PHP: sto impazzendo

Ciao a tutti!
Son tre giorni che bestemmio come uno scaricatore di porto turco, ma non
riesco a venire a capo della cosa...
Allora: ho un programma scritto in PHP che usa le funzioni imap.
Giusto per fare un test estremamente semplice (ma e' cosi' con qualsiasi
programma che usi quelle funzioni) possiamo dire che il programma e'
questo:
---------------
<html>
<?
$mailbox = imap_open(  "{localhost:110/pop3/notls}INBOX", '<mio
UserName>', '<mia Password>' );
$check = imap_check($mailbox);
$numeroMessaggi = $check->Nmsgs;
print "numeroMessaggi: $numeroMessaggi<br>\n";
imap_close($mailbox);
?>
</html>
---------------
Sul Server e' ovviamente presente PHP con il supporto IMAP (installato da
RPM).
In particolare c'e' php-imap-4.3.5-1 che gira con Apache 2.0.48-2.
Non ho la possibilita' di cambiare questi due programmi.
Ora arriviamo al bello:
Se io lancio "php test.php" (il programma di cui sopra), tutto funziona
alla perfezione.
Se io richiamo test.php da browser, non funziona...
In particolare vedo il seguente errore:
[lucabert@ns lucabert]$ lynx --source 
http://www.server.de/test.php
Looking up 
www.server.de
www.server.de
Making HTTP connection to 
www.server.de
Sending HTTP request.
HTTP request sent; waiting for response.
Alert!: Unexpected network read error; connection aborted.
Can't Access `
http://www.server.de/test.php
'
Alert!: Unable to access document.
lynx: Can't access startfile
Giusto per cercare di capirci qualcosa ho provato a guardare con ngrep
cosa succede nella comunicazione POP3 tra PHP e Dovecot (il Server POP3).
Bene, succede che PHP apre la connessione, Dovecot si presenta, PHP
spedisce il "CAPA", e Dovecot gli risponde, PHP vuole usare CRAM-MD5 e
Dovecot gli manda il Challenge.
E poi il nulla! PHP non va avanti manco a spingerlo!
La cosa che piu' mi lascia perplesso e' che appunto da riga di comando
(via CLI) il programma funziona alla perfezione.
Mentre da Browser niente! E c'e' di piu'! Il maledetto non logga da
nessuna parte! Si schianta e basta!
Aggiungo una cosa ancora, giusto per impazzire del tutto...
Pensavo che potesse essere che Apache non avesse dei diritti per usare le
funzioni IMAP, quindi ho scritto un programma test1.php cosi' scritto:
----------
<html>
<?
system('php /home/www/html/test.php');
?>
</html>
----------
E funziona!!
Ovvio che questa soluzione non puo' essere usata in quando dovrei scrivere
un Wrapper per ogni pagina...
Non so proprio piu' cosa fare! Se qualche anima pia ha una buona idea,
sarei felicissimo di ascoltarla!
Ciao e grazie in anticipo
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Magari dico na stronzata... non è che hai sbagliato path?

Luca Bertoncello wrote:
Un'altra possibile idiozia: c'è differenza se invece di
<? ?>
usi
<?php ?> per chiarirgli un pò le cose?
Avevo pensato a un possibile problema di permessi, ma non sembra
proprio (se si risolve aggiungendo <html></html> dubito sia problema di
permessi, a meno che tu non lo abbia fatto con l'utente giusto(TM)).
Saludos
Adriano

 Magari dico na stronzata... non è che hai sbagliato path?
In che senso? Il Path del file (URL)?
No, altrimenti mi darebbe la pagina di errore.
E se commento le funzioni IMAP la pagina viene visualizzata...
Ciao


 permessi, a meno che tu non lo abbia fatto con l'utente giusto(TM)).
Non saprei proprio che permessi dargli in piu'...
Ciao


 
No intendevo il path sulla macchina dove risiedono i files, ma così ad
analizzare i messaggi da browser, sembrerebbe un problema di permessi.
Il messaggio "can' t access" può voler significare questo.
Andrea 

 riesco a venire a capo della cosa...
[cuttone]
a parte che credo non siail NG giusto.
Ma non è che il supporto imap l'hai caricato per il php-cli/php-cgi e non
per il modulo di apache ?
Verifica nei vari php.ini

 sarei felicissimo di ascoltarla!
hai verificato le informazioni del phpinfo? Controlla sia quello della
versione CLI che quello della versione server side e cerca eventuali
differenze, per cominciare.
Bye!