PHP向服务器错误记录、文件或远程目标发送一个错误-程序员宅基地

技术标签: python  开发工具  php  


一、用到的函数说明

1语法: error_log(error, type, destination, headers)

2 参数说明:

    error: 必需, 要记录的错误消息

    type: 可选。规定错误记录的类型, 可能的看记录类型:

        0 - 默认, 根据在php.ini文件中的error_log配置,错误被发送到服务器日志系统或文件

        1 - 错误被发送到destination参数中的地址,只有该类型使用headers参数

        2- 通过PHP debugging链接来发送错误。该喧嚣只在PHP 3 中使用

        3- 错误发送到文件目标字符串

    destination:可选,规定向何处发送错误消息,该参数的值依赖于"type”参数的值

    headers:可选, 只有”type“为1时使用。规定附加的头部, 比如From, Cc已经Bcc。有CRLF(\r\n)分隔

        注意:在发送电子邮件时,必须包含From头部。可以在php.ini文件中或这通过此参数设置

3 小知识点:

(1)写电子邮件Cc是Carbon Copy 意为复写的副本,就是我们通常说的抄送

(2)Bcc是Blind Carbon Copy ,意为隐蔽副本,密送。发给谁,除了你跟密送的对象外谁都不知道

(3)抄送与密送的区别:同时发同一篇邮件给很多人时,用抄送的话收件人就知道还有谁也收到了该邮件,用密送,则收件人就不知道还有谁同样也收到了该邮件

二、示例:

/**
 * 发送一封带有自定义错误的电子邮件
 */
 $test = 2;
 if($test > 1){
     echo "eee\n";
     error_log("A custom error has been triggered", 1, "[email protected]", "From: [email protected]");
     echo "eee2\n";
 }

三、问题解决

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



转载于:https://my.oschina.net/syc2013/blog/366428

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33738982/article/details/91917520

智能推荐

git stash_git stash stashed-程序员宅基地

文章浏览阅读438次。开发人员常常遇到这种情况:花了几天时间一直在做一个新功能,已经改了差不多十几个文件,突然有一个bug需要紧急解决,然后给一个build测试组。在Git问世之前基本上靠手动备份,费时且容易出错。git stash命令简而言之就是帮助开发人员暂时搁置当前已做的改动,倒退到改动前的状态,进行其他的必要操作(比如发布,或者解决一个bug,或者branch,等等),之后还可以重新载入之前搁置的改_git stash stashed

windows下如何编译带SSL/TLS的wsdl2h_wsdl2h tls-程序员宅基地

文章浏览阅读1k次。gSOAP官方提供的、已编译好的wsdl2h默认是禁用SSL/TLS的,所以不支持HTTPS下载WSDL文件。但就windows下如何编译在网上没找到具体案例。1、安装openssl,可以选择安装包安装(http://slproweb.com/products/Win32OpenSSL.html)2、在vs的项目右键属性,选择C/C++,选中预处理器,加入宏WITH_OPENSSL(启用o..._wsdl2h tls

流程控制总结_java流程控制实验总结-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏4次。//第三课,流程控制 ctrl + shift +o 可以导入从键盘获取输入的资源 //单分支选择结构 if(条件表达式){ 代码块 } //双分支选择结构 if(条件表达式){ 代码块1 } else{ 代码块2 } //多分支选择结构 if(条件表达式1){ 代码块1 } else if(条件表达式2){ 代码块_java流程控制实验总结

使用Python为时间序列预测创建ARIMA模型_model_fit = model.fit(disp=0)-程序员宅基地

文章浏览阅读6.9k次,点赞6次,收藏50次。 如何在Python中为时间序列预测创建ARIMA模型 ARIMA模型是一种流行且广泛使用的时间序列预测统计方法。ARIMA是AutoRegressive Integrated Moving Average的缩写。它是一类模型,它捕获时间序列数据中的一套不同的标准时间结构。 ARIMA模型的信息还可以参考这里 ..._model_fit = model.fit(disp=0)

靶机渗透测试实战(七)——FristiLeaks渗透实战-程序员宅基地

文章浏览阅读3.3k次,点赞6次,收藏19次。目录一. 实验环境二. 实验流程三. 实验步骤(一)信息收集——主机发现1. 查看Kali的IP信息;(IP:192.168.37.131)2. 查看靶机页面,IP地址为:192.168.37.146;3. 扫描主机(netdiscover)(二)信息收集——端口扫描1. 扫描端口(masscan)2. 详细扫描端口信息(nmap)(三)渗透测试80..._fristileaks

ROS学习(1)简介和文件系统-程序员宅基地

文章浏览阅读151次。目录1.ROS简介1.1机器人时代的到来中国大学MOOC—《机器人操作系统入门》配套讲义1.ROS简介机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。 因此自ROS诞生以来,受到了学术界和工业界的欢迎,如今已经广泛应用于机械臂、移动底盘、无人机、无人车等许多种类的机器人上。1.1机器人时代的到来...

随便推点

Bootstrap 警告框自动关闭_bootstrap 警告框自动消失-程序员宅基地

文章浏览阅读1.5w次。Bootstrap 警告框自动关闭,其实就是延迟关闭警告框,代码如下window.setTimeout(function(){ $('[data-dismiss="alert"]').alert('close');},2000);_bootstrap 警告框自动消失

用Python实现 学生信息管理系统_信息管理系统pyqt6-程序员宅基地

文章浏览阅读6k次,点赞22次,收藏109次。项目要求:读完题目,首先我们要确定程序思路我们要全部通过类去实现也就是 我们要实现管理员、学生、讲师、课程、教师五个类管理员类class Administration(object): def __init__(self): self.data = self.__load() self.login_data = {} def __load(self) -> list: try: Adm = open(_信息管理系统pyqt6

python3 爬虫 零基础快速上手(爬虫示例)-程序员宅基地

文章浏览阅读3.9w次,点赞32次,收藏220次。(补1:由于csdn页面重构了,看到有很多人浏览,特地更新一下获取内容补充的字都为绿字)Python是一种面向对象的解释型计算机程序设计语言,类似c,java ,php,JavaScript一种语言,比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。Python是一种高级的语言。一:python 安装:首先,根据你的Windows版本(..._python3 爬虫

用 Python解析HTML页面_python解析html用哪个模块-程序员宅基地

文章浏览阅读1.4k次。本文介绍了 Python 中常用的三种 HTML 解析方式:XPath 解析、CSS 选择器解析和正则表达式解析。在具体的应用过程中,我们可以根据需要选择不同的解析方式。XPath 解析适用于对 HTML 页面的层次结构进行解析,能够比较方便地定位页面元素;CSS 选择器解析适用于对 HTML 页面的类名、id 等属性进行解析,可以快速定位元素;正则表达式解析适用于对 HTML 页面的标签和文本进行解析,可以灵活地处理页面元素。希望本文能够对大家进行 HTML 解析方面的学习和实践有所帮助。_python解析html用哪个模块

使用CDN的方式使用Vue 和 iview构建vue项目_cdn方式 vue怎么封装组件-程序员宅基地

文章浏览阅读1w次,点赞7次,收藏19次。使用CDN的方式使用Vue 和 iview构建vue项目一、CDN的方式是什么二、为什么采用cdn的方式三、过程1 引入vue.js和iview。2 基本功能3 组件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaT......_cdn方式 vue怎么封装组件

程序员写春联,秒杀全场!网友:不愧是聪明绝顶的“程序猿”!_years months weeks day day no bug java python c++ -程序员宅基地

文章浏览阅读4.2k次,点赞3次,收藏4次。转眼间,春节就要过完了,回想起春节即将来临之前,每家每户都贴起了对联,很多机构、公司、学校也贴出了具有代表性的春联。有些春联让人看了,可谓是惊叹连连、啧啧称奇。那当然身为程序员的一家,也不能输了气势,谁说程序员只会敲代码,程序员敲起代码来也是秒杀全场,网友连连夸赞:不愧是聪明绝顶的”程序猿“!很明显,这是一副程序员写的春联。上联:Python Java C++ Line Line So..._years months weeks day day no bug java python c++ line line so easy

推荐文章

热门文章

相关标签