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

智能推荐

dubbo实战之一:准备和初体验,Java进阶-程序员宅基地

文章浏览阅读923次,点赞21次,收藏15次。Java架构学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等。还有Java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板可以领取+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书+2021年最新大厂面试题。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

20来行的Python拼写检查器_拼写检查 专有名词 python-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏8次。介绍了一个基于贝叶斯方法的Python写的20来行的拼写检查器_拼写检查 专有名词 python

matlab仿真三相不平衡度,matlab调用openDSS进行三相不平衡潮流计算-程序员宅基地

文章浏览阅读2k次。应用介绍这是使用matlab调用openDSS进行三相不平衡潮流计算过程和方法步骤,OpenDSS是由美国电科院(EPRI)开发的开源配电系统仿真工具。 用户可以在使用COM接口的同时使用OpenDSS仿真任何配电网系统(有关详细信息,请参见OpenDSS手册)。 在这里,OpenDSS使用Matlab COM接口用于配电系统的潮流计算。 以下讲述了从安装到openDSS潮流计算,如何定义各个分布..._opendss matlab安装

深度学习的发展历程(思维导图、时间轴)_深度学习发展图-程序员宅基地

文章浏览阅读5.5k次,点赞6次,收藏13次。机器学习和深度学习的关系事实上,很多PGM也可从神经网络的方面来解释。尤其是VAE,它可看做二类的混合模型。当PGM的层太多时,学习和推断都很难。因此,Deep learning往往偏向于指代Deep neural network。从感知机到深度学习目前所说的深度学习实际上多指2006年开始的一系列模型。深度学习大火的原因:逐渐增加的数据量并行计算、分布式系统的发展硬件GPU等的发展最重要的是,其效果好,优于之前大火的SVM虽然目前深度学习的理论稍滞后,但其效果好呀~未来说比对_深度学习发展图

php游戏服务器教程,C++游戏服务器编程从入门到掌握视频教程(全)-程序员宅基地

文章浏览阅读255次。任务1: 课程预览PPT2-课程概述.mp43-IP详解第一部分.mp4任务4: 预览IP详解PPT5-IP详解第二部分.mp46-TCP详解第一部分(介绍 + 工作原理 + 头部详解).mp47-TCP详解第二部分(状态与连接详解).mp48-TCP详解第三部分(断开以及传送数据详解).mp49-TCP详解04(用wireshark工具查看TCP连接和断开和TCP杂项).mp4任务10: 预览T..._php 游戏视频教程

如何解决Invalid bound statement (not found):问题_invalid bound statement (not found): com.szkingdom-程序员宅基地

文章浏览阅读600次。在写ssm junit测试的时候一直报这个错, 配置文件以及包名都检查过了,一直没解决。各位大神帮帮忙org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zking.ssm.mapper.LogininfoMapper.getUserByNameAndPwd at org.a..._invalid bound statement (not found): com.szkingdom.sfixp.parti.dao.partidao.

随便推点

python写一个类600行代码_带你领略算法的魅力,一个600行代码的分词功能实现(二)...-程序员宅基地

文章浏览阅读127次。从大学毕业到工作的开始几年,一直觉得大学期间学的线性代数,离散数学,概率论简直是浪费时间。那时候实际做的代码,大部分都是数据进销存。数据输入到数据库介质中的转换,CS,BS架构都写过一些。总觉得现实生活中的逻辑,基本就是柴米油盐那么点东西,根本不需要复杂的算法。最多用点排序算是最给面子了。真正接触算法的魅力,是在写游戏的时候。那时候写寻路算法,第一次听说A*,不喜欢用别人写好的,于是自己实现了一遍..._python中型游戏600行代码

java智慧农业系统-农业云端农产品仓储子系统_农产品货运客体子系统-程序员宅基地

文章浏览阅读1.9k次。下载地址:https://download.csdn.net/download/kzpqi88/80784670项目介绍:java智慧农业系统-农业云端农产品仓储子系统系统说明:1、主要功能计费配置、仓库配置、基础配置、计费管理、基础资料、仓库管理、月台管理、进货管理、出货管理、退货管理、库内管理、盘点管理、库存查询、PDA功能、分析报表、分析图表、域验证。2、主要流程收货流程,上架流程,移货作业、拣货流程:批量拣货,按单拣货、盘点流程、计费流程。1,开发环境:开发工具:IDEA(强烈_农产品货运客体子系统

总结 XSS 与 CSRF 两种跨站攻击_restclient测试xss-程序员宅基地

文章浏览阅读1k次。在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式。在这个年代, 参数化查询 [1] 已经成了普遍用法,我们已经离 SQL 注入很远了。但是,历史同样悠久的 XSS 和 CSRF 却没有远离我们。由于之前已经对 XSS 很熟悉了,所以我对用户输入的数据一直非常小心。如果输入的时候没有经过 Tidy 之类的过滤,我一定会在模板输出时候全_restclient测试xss

分享一个在线生成微信跳转链接实现微信内跳转浏览器打开URL的工具-程序员宅基地

文章浏览阅读2.5k次。前言现如今微信对第三方推广链接的审核是越来越严格了,域名在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,要不然就是换个域名再推,周而复始。无论是哪一种情况都会面临一个非常严重的问题,那就是用户体验差,用户量无法有效地累积起来,从而导致推广成本一直在增加,推广效率却无法有明显的提升。所以针对这个问题,特写这篇文章来分享如何正常从微信内访问已..._mailijump

使用Monkey进行Android手机应用的压力测试_monkey压力测试-程序员宅基地

文章浏览阅读547次。由于monkey太过随机,最后根本无法控制,很容易陷于一个页面无法出来,或者陷入某个无关紧要的地方无法出来,导致测试结果并不具有很好的意义。在monkey测试中,由于事件的随机性,使得monkey容易卡在某些简单页面,比如登陆页面这种可操作内容很少的页面。***执行100个伪随机用户事件流,事件间隔为300毫秒: adb shell monkey -p 包名 --throttle 300 100。由于Monkey的随机性,如果Bug是由于事件发生的特定序列产生的,往往很难复现Bug。_monkey压力测试

HBase-程序员宅基地

文章浏览阅读40次。在HBase中,一条数据拥有唯一的主键,一个或多个列族(一般最多设计不会超过3),列族必须在定义的时候声明,一个列族有任意数量的列,所以说列具有松散性,在声明时可以不定义,每一个数据可以有多个版本,当版本达到定义的版本数时(默认为1),就会把最早的版本清理掉,一个列族的数据在物理上保存在同一个HFile/StoreFile中。在查找时通过主键找单对应的列族,再找到对应的列,最后确定具体的版本号。维护数据:当有失效的HRegion时,会将失效的HRegion分配到正常的HRegionService。

推荐文章

热门文章

相关标签