posta: failed to open stream: İzin engellendi?

3 Cevap php

I get this warning sending mails with php Warning: mail(1) [function.mail]: failed to open stream: Permission denied in /home/...

  • SMTP gibi SSMTP ve gmail kullanan
  • PHP 5.3.1
  • günlüklerinde şey (hiçbir hata)
  • posta hedef alır
  • dosyaların izinleri rwxrxrx vardır

İzin Neye engellendi?

Hatta gibi basit bir şey çağırıyor

mail ("mail@domain.com", "özne", "beden");

Ben hala bu uyarıyı alıyorum

3 Cevap

It turns out to be a file permissions problems after all. But not in the scripts, but in the directory. I ran a chmod -R 777 * and the warning went of. upon further examination I found a file called 1, and this file contained a log of the sent mails. The warning was php telling me that he was unable to open this file

Çözüm:

 sudo chmod -R 755 *
 sudo chmod  777 1

F # $% ^% şifreli php hata iletileri

Sorun webserver kullanıcı posta log dosyası yazmak ve / veya okumak mümkün değildir olmasıdır. Bir screensize yapılandırması için:

1) E-posta kaydı için klasör ve dosya oluşturun. Örneğin:

touch /var/log/php5/mail.log

2) php.ini içinde günlük dosyasını ayarlayın:

mail.log = /var/log/php5/mail.log

3) ihtiyaç halinde bu klasör / dosya için sahibi ve grubu ayarlayın:

sahibi ve grubu ile kontrol

ls -la /var/log/php5

gerekli durumda, (ne olursa olsun web sunucusunun grubu için değişim www-data) grubunu değiştirmek

sudo chgrp -R www-data /var/log/php5

gerekli durumda, (ne olursa olsun web sunucunun kullanıcısı için değişim www-data) sahibini değiştirmek

sudo chown -R www-data /var/log/php5

Bunu basitleştirmek eğer çalışır mı?

 $mail_sent = mail('address@domain.com', 'subject', 'message');

Öyle ise, o zaman bu posta çalıştığını biliyorum.

Bundan sonra, ben $ eol şeyler kaldırmak ve o giderir görmek istiyorum. Eğer değilse, o zaman başlık bloğu kaldırmak ve çalışmaya başlar dek kaldırarak bir şeyler tutun.