1、用到的函數說明 php
1語法: error_log(error, type, destination, headers) web
2 參數說明: ubuntu
error: 必需, 要記錄的錯誤消息 vim
type: 可選。規定錯誤記錄的類型, 可能的看記錄類型: 服務器
0 - 默認, 根據在php.ini文件中的error_log配置,錯誤被髮送到服務器日誌系統或文件 函數
1 - 錯誤被髮送到destination參數中的地址,只有該類型使用headers參數 php-fpm
2- 經過PHP debugging連接來發送錯誤。該喧囂只在PHP 3 中使用 spa
3- 錯誤發送到文件目標字符串 debug
destination:可選,規定向何處發送錯誤消息,該參數的值依賴於"type」參數的值 rest
headers:可選, 只有」type「爲1時使用。規定附加的頭部, 好比From, Cc已經Bcc。有CRLF(\r\n)分隔
注意:在發送電子郵件時,必須包含From頭部。能夠在php.ini文件中或這經過此參數設置
3 小知識點:
(1)寫電子郵件Cc是Carbon Copy 意爲複寫的副本,就是咱們一般說的抄送
(2)Bcc是Blind Carbon Copy ,意爲隱蔽副本,密送。發給誰,除了你跟密送的對象外誰都不知道
(3)抄送與密送的區別:同時發同一篇郵件給不少人時,用抄送的話收件人就知道還有誰也收到了該郵件,用密送,則收件人就不知道還有誰一樣也收到了該郵件
2、示例:
/**
* 發送一封帶有自定義錯誤的電子郵件
*/
$test = 2;
if($test > 1){
echo "eee\n";
error_log("A custom error has been triggered", 1, "792294380@qq.com", "From: webmaster@example.com");
echo "eee2\n";
}
3、問題解決
1 問題:sh: 1: /usr/sbin/sendmail: not found
2 出現緣由:沒有啓動或安裝sendmail組件
3 解決辦法:
(1)安裝sendemial: ubuntu系統下的安裝方法之一, sudo apt-get install sendemail
(2)重啓php-fpm進程: sudo /etc/init.d/php-fpm restart, 我使用了sudo /etc/init.d/php-fastcgi restart
(3)檢測sendemail是否運行正常: sudo /etc/init.d/sendmail status,若是現實正在運行running就能夠
可能用到的命令:
sudo /etc/init.d/sendmail start (啓動sendmial)
sudo /etc/init.d/sendmail stop (關閉sendmail)
sudo /etc/init.d/sendmial restart(重啓sendmail)
(4)配置php.ini, 填寫sendmial的絕對路徑
1>查找php的安裝目錄: locate php5, 例如查找到在/usr/share/中
2>填寫sendmail的絕對路徑:
a:打開php的配置文件php.init,例如sudo vim /usr/share/php5/php.ini-development
b:輸入?sendmail_path查找定位
c:編輯修改sendmail_path配置,sendmail_path = /usr/share/sendmial -t -i
(5)重啓php-fpm進程: sudo /etc/init.d/php-fpm restart