Quando eseguo il mio script di posta elettronica via browser viene restituito un errore fatale (a meno che non aumenti drasticamente il tempo di esecuzione, allora funzionerà bene, non la soluzione che sto cercando). L'e-mail viene inviata al, ma ci vuole sempre (5 minuti in media) per arrivare (nella mia casella di posta)!
(Considerando che tramite linea di comando che funziona perfettamente penso che SMTP in php.ini è certamente ben configurato.)mail() timeout issue
Quindi questo è il codice eseguito su richiesta del browser:
<?php
mail('[email protected]', 'test subject', 'test body', 'From: Andre Matos <[email protected]>');
?>
e quando corro questo stesso (? E 'davvero la stessa sto iniziando a dubitare di me stesso) codice tramite riga di comando:
php -r "mail('[email protected]', 'test subject', 'test body', 'From: Andre Matos <[email protected]>');"
funziona perfettamente! Lo script viene eseguito, si ferma e l'email arriva istantaneamente (2/3 secondi).
Quindi, cosa può causare questa differenza e come risolverlo? Qualche idea?
Grazie in anticipo.
[modifica] qualche informazione in più:
- la macchina è Windows
- il server è localhost
- php.ini è la stessa sia per il browser e l'istanza cli
[edit2]
Grazie a tutti per aver cercato di indovinare quale era il problema. Ho posto la domanda saltando che qualcuno avesse il problema prima e sapesse qualcosa di specifico. Dato che non è stato mostrato nulla di specifico e nessuno dei suggerimenti ha funzionato, ho deciso di accettare quello che mi ha permesso di raggiungere più conclusioni sul problema ... +1 Per tutte le tue utili conoscenze/pensieri (/ ipotesi) :-)
La riga di comando e il browser stanno attualmente utilizzando due diversi file php.ini. Potresti voler cercare php.ini e confrontare le tue impostazioni – Patrick
Questo non ha senso per me; Quindi ho controllato: 'php --ini' restituisce lo stesso percorso per il file di configurazione del browser. – acm
Presumo che sendmail_path sia lo stesso? – djdy