Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

PHP: problemi IMAP

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

PHP: problemi IMAP

Postdi theredds » 23/06/05 13:14

salve sto realizzando un sito con una posta elettronica ma ho dei problemi quando devo scaricare la posta e mi da questo errore:
"Warning: dl(): Not supporterd in multithereaded Web server - use extension statements in your php.ini" :?:
Cosa vuol dire? devo caricare qualche modulo? Devo settare il server Apache?
AIUTO!!!!!!!!! :aaah
theredds
Utente Junior
 
Post: 17
Iscritto il: 23/06/05 13:04

Sponsor
 

Postdi Mone » 23/06/05 16:23

Inizia a vedere cosa dicono su php.net:
Nota: La funzione dl() non è supportata dai web server multithread. Utilizzare il parametro del php.ini extensions quando si debba utilizzare tali server. Mentre le versioni CGI e CLI non hanno questa limitazione.


questo è il link: http://it2.php.net/manual/it/function.dl.php
Avatar utente
Mone
Utente Senior
 
Post: 343
Iscritto il: 21/10/03 19:44
Località: Zion

sono ignorante

Postdi theredds » 23/06/05 17:06

scusate la mia ignoranza ma cos'è un web server multithread?
theredds
Utente Junior
 
Post: 17
Iscritto il: 23/06/05 13:04

Re: sono ignorante

Postdi Mone » 24/06/05 14:01

theredds ha scritto:scusate la mia ignoranza ma cos'è un web server multithread?


Detto così sinceramente non saprei.
In generale un programma multithread è un programma con più thread (ma va?) :oops:

Che vuol dire? Immagina il tuo S.O., ci girano più programmi contemporaneamente no? Questo si chiama multitask, applicato a un singolo programma diventa multithread.

Sono stato spiegato?

Per quanto riguarda il web server multithread non saprei in quanto ho difficoltà ad immaginare un web server con un solo thread...
:?:
Spero che qualcuno mi illumini.
Avatar utente
Mone
Utente Senior
 
Post: 343
Iscritto il: 21/10/03 19:44
Località: Zion

Re: sono ignorante

Postdi Zhuco » 29/06/05 16:28

Mone ha scritto:Spero che qualcuno mi illumini.


Saltando alcuni particolari, un web server multithread, significa che per ogni richiesta rilevata sulla porta 80, il web server genera un nuovo processo figlio (thread) per assolvere a tale richiesta. Questa tecnica viene spesso usata in aggiunta a sistemi multi processore, permettendo di ottimizzare notevolmente il carico di lavoro dei processori e della ram!!!
Thanks From .:°J@zZ°:.
Zhuco
Utente Senior
 
Post: 234
Iscritto il: 12/08/02 00:17
Località: Ciociaria

Postdi Mone » 29/06/05 17:15

un web server multithread, significa che per ogni richiesta rilevata sulla porta 80, il web server genera un nuovo processo figlio (thread) per assolvere a tale richiesta


Ok, fin qui ci sono :)

ho difficoltà ad immaginare un web server con un solo thread...


e' questo quello che mi sconquinfera :oops:
Come fa un server con un solo thread?!?!?? Se finchè non ha finito di rispondere alla richiesta A nn può ascoltare la connessione per la richiesta B?
Avatar utente
Mone
Utente Senior
 
Post: 343
Iscritto il: 21/10/03 19:44
Località: Zion

Postdi disgrazia » 29/06/05 18:15

Nel caso di un webserver, se non è multithread allora è multiprocesso... come concetto non cambia molto, all'atto pratico le differenze stanno qui:
  • i processi hanno uno spazio di memoria totalmente separato, e sono più pesanti in termine di carico di lavoro sulla macchina
  • i thread invece mantengono alcune aree di memoria condivise, sono più leggeri, possono essere generati più velocemente e occupano meno risorse
  • i processi nascono con UNIX molti anni fa, quindi il loro uso è ben consolidato e la loro implementazione è stabile.
  • di thread invece ne esistono diverse versioni (pthread, green thread, etc), i più usati direi che sono i pthread che sono standard POSIX dal 1995 (quindi molto più recente dei processi UNIX).
  • su alcune piattaforme i thread sono implementati in maniera non molto egregia (es. BSD), per cui per alcune applicazioni che necessitano di molta stabilità (e.g. server di qualsiasi tipo) può essere preferibile un'implemantazione multiprocesso
Comunque in generale un server può anche non essere né multiprocesso né multithreaded:
  • server iterativo: processa una richiesta alla volta, quando ha finito passa alla richiesta successiva. Ok, un webserver così sarebbe un fallimento, però per es. potrebbe andar bene per un serevr DNS che deve soddisfare richieste molto brevi e senza pesanti operazioni di I/O in mezzo (e magari far partire un nuovo processo per ogni richiesta potrebbe essere addirittura più pesante).
  • server concorrente monoprocesso: si può fare, basterebbe per esempio usare I/O non bloccante e processare pezzi di richieste a turno con ad es. tramite round robin. Però scrivere un server del genere è una follia, i processi e i thread servono proprio per togliere questo carico di lavoro ai programmatori ;)
disgrazia
Download Admin
 
Post: 708
Iscritto il: 08/07/02 22:16

Postdi Zhuco » 29/06/05 18:15

e' questo quello che mi sconquinfera Imbarazzato
Come fa un server con un solo thread?!?!?? Se finchè non ha finito di rispondere alla richiesta A nn può ascoltare la connessione per la richiesta B?


Bene, quà le cose si complicano...
Come prima cosa essendo che su un hardware di rete può esisere un solo soket 80 si usa un trucco, usato anche in passato sulle porte seriali e parallele.
Si crea via software, un vettore di tipo fifo che viene caricato con tutte le richieste presenti sul soket 80 e svuotato con priorità attraverso un demone che si occupa di schludare la gestioe del vettore.
Quindi tra il web server ed il soket vi è un ulteriore strato software che è l'accoppiata vettore+demone.
Il demone di apache che gestisce il soket 80 è apached.exe visibile tra i task quando il web server è in esecuzione.
Se vuoi altre spegazioni chedi pure!!!
Thanks From .:°J@zZ°:.
Zhuco
Utente Senior
 
Post: 234
Iscritto il: 12/08/02 00:17
Località: Ciociaria

Postdi Mone » 29/06/05 18:50

disgrazia ha scritto:Nel caso di un webserver, se non è multithread allora è multiprocesso...


ah ecco, c'era il trucco! :lol:

A questo punto:
1-che voi sappiate apache usa thread o processi? O meglio, in genere un web server usa thread o processi?
2-ammesso che usino principalmente thread (come penso) che motivo forte possono avere quelli di php.net ad impostare di default l'uso di dl() per server monothread e rimandarti alla modifica del php.ini per l'utilizzo con server multithread? Sarà per questo che è un metodo deprecato?

La funzione dl() è deprecata dal PHP 5. Piuttosto utilizzare Parametri per il carico dei moduli.
Avatar utente
Mone
Utente Senior
 
Post: 343
Iscritto il: 21/10/03 19:44
Località: Zion

Postdi pjfry » 29/06/05 19:25

Mone ha scritto:1-che voi sappiate apache usa thread o processi? O meglio, in genere un web server usa thread o processi?

l'hai mai installato su windows? io nel task manager vedo un processo solo :D
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni


Torna a Programmazione


Topic correlati a "PHP: problemi IMAP":

alcuni problemi...
Autore: gibo
Forum: Assistenza Hardware
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti