php 501解决办法,PHP 使用错误处理解析

这篇文章主要为大家详细介绍了PHP 使用错误处理解析,具有一定的参考价值,可以用来参考一下。

对使用PHP的错误处理感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧!

在web 上所有常见的错误之一就是无效的链接。一旦从其它站点上出现了无效的链接,你会重新安排你 的站点。人们会将他们喜欢的站点存成书签,如果在三个月后再次访问时,仅仅发现的是'404 Not Fount ' 时,将不会给他们任务帮助,告诉他们如何从你的站点去查找原始的信息。让我们解决这个问题,或者至少 给你的用户一个友好的帮助,一旦他们遇到'a 404' 错误时,能够得到一些痕迹。你可以创建普通的页面来 报告在处理你的页面时所遇到的所有的错误。

PHP 与Apache一起可以很自由地让你创建自已的出错页面,但是需要重新进行配置,并且要编少量的代 码。先让我们学习配置部分。

Apache的ErrorDocument指示用来指出在出现错误时Apache应重定向到哪一个文档(或URI)。它允许你 为每一个你的用户可能遇到的错误代码指定一个资源。通过在你的服务器配置中增加一个ErrorDocument 404 /error.php指示。这个将在用户访问一个不存在的页面时,重定向到'error.php'中,下面我们就会写出 'error.php'页面。不要忘了重新启动Apache以使改动生效。

接着,我们写出一个简单的error.php:

你所请求的文件 (=$REDIRECT_URL?>) 在这个服务器上不存在。 请查找你想要的文件从 前页。

现在试着读取一个在你服务器上不存在的页面,怎么样,你可以看到error.php了,它有着一个良好和 友好的消息,并且还有一个到前页的链接。

让我们把它扩展一下。正如你所见,我在error.php中使用了REDIRECT_URL变量。这个变量是Apache在 执行了一个ErrorDocument指示时所设置的,并且给出了一种可能来找到原始的资源。在这种情况下,Apache 还设置了一些别的变量,所有的变量可以在这里找到。使用这些变量可能创建一个很好的出错页面,用于给 用户一个不错与友好的出错页面,而代替Apache给出的缺省页面。

从PHP页面中输出错误 从一个PHP页面输出错误与模拟Apache对ErrorDocument指示所做的很象,你只要简单地将用户重定向, 通过使用query-string变量,而Apache则通常是设置在环境变量里面。这样就可以使用同一个出错页面来处 理各种错误。

下面是一个例子:

/**

* 使用PHP的错误处理

*

* @param

* @arrange 512-笔记网: 512PiC.com

**/

function throw_error($message) {

$error_page = "/err/error.php";

$error_url = $error_page;

$error_url .= "?REDIRECT_ERROR_NOTES=$message";

$error_url .= "&REDIRECT_URL=" . $GLOBALS["PHP_SELF"];

$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";

$error_url .= "&REDIRECT_STATUS=501";

Header("Status: 501");

Header("Location: $error_url");

exit;

}

ob_start();

// 使用输出缓冲以便在这页中的任何地方输出错误

if(!condition) {

throw_error("the condition failed");

}

ob_end_flush();

// 页面处理完毕,刷新输出缓冲

/*** 来自512笔记(www.512pic.com) ***/使用PHP4的输出缓冲特性对生成一般的出错报告功能也会有帮助。但是在你确认整个出错页面处理完毕 时,不要忘记刷新缓冲区,你可以在你的代码中的任可地方通过Header调用来进行重定向。

读者可以自行设计,实现自已的出错页面来适应他/她的站点。不要忘了,你可以包含一个带email的提 交表单在出错页面中,这样用户可以反馈给你一些意见。

注:关于PHP 使用错误处理解析的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:错误处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“阿基里斯与乌龟”的终结性思考

“阿基里斯与乌龟”是公元前五世纪古希腊芝诺提出的悖论,想必大家都已耳熟能详了。 乌龟只要还在阿基里斯前头,那么阿基里斯是一直处于追的状态,换句话说在这种状态下他一直没追上。 哪怕乌龟的领先优势越来越小,直至很小&#xf…

指纹识别 python_python 网站指纹识别

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

Linux系统常用函数,浅谈linux下的一些常用函数的总结(必看篇)

1.exit()函数exit(int n) 其实就是直接退出程序,因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的。一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就是退出…

​采访了14位技术公司的创始人,他们如何看待2020年的AI行业?

来源:KDnuggets编译:木槿、张大笔茹、楚阳科幻元年2020年马上就要来了。对于技术行业来说,这一年会有哪些值得期待的变化?KDnuggets采访了14位科技前沿的技术公司创始人,并汇总了他们眼中的2020年:关于人工…

前端编程基础

网页前端编程基础 HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言&#xff0c;而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页<html> <body>…

spark sql合并小文件_Spark SQL小文件问题在OPPO的解决方案

Spark SQL小文件是指文件大小显著小于hdfs block块大小的的文件。过于繁多的小文件会给HDFS带来很严重的性能瓶颈&#xff0c;对任务的稳定和集群的维护会带来极大的挑战。一般来说&#xff0c;通过Hive调度的MR任务都可以简单设置如下几个小文件合并的参数来解决任务产生的小文…

linux脚本 scp 管道,scp命令详解(全)

svn 删除所有的 .svn文件find . -name .svn -type d -exec rm -fr {} \;linux之cp/scp命令&#xff0b;scp命令详解名称&#xff1a;cp使用权限&#xff1a;所有使用者使用方式&#xff1a;cp [options] source destcp [options] source... directory说明&#xff1a;将一个档案…

白春礼:探究物质世界奥秘的一把金钥匙——纪念元素周期表发表150周年

来源&#xff1a;中国科学报联合国大会宣布2019年为国际化学元素周期表年&#xff0c;旨在纪念俄罗斯化学家门捷列夫在150年前发表元素周期表这一科学发展史上的重大成就。世界万物是由什么最基本的物质构成的&#xff1f;这些最基本的物质又是怎样变成万物世界的&#xff1f;这…

莫名的证书错误...ERROR ITMS-90035:Invalid Signature.

请删除 .DS_Store 这种类似的文件再尝试转载于:https://www.cnblogs.com/decode1234/p/6529601.html

linux里工作目录的字体变蓝,netterm访问Linux时字体和背景颜色随目录发生改变的问题解决...

方法很多&#xff0c;除了改用其他仿真终端程序外&#xff0c;继续使用netterm可用下面方法解决。方法1&#xff1a;修改netterm参数&#xff0c;最简单选项-->屏幕颜色-->允许图形编译码 重置颜色至默认值点选上&#xff0c;见下图&#xff1a;这种方法的最大特点是目录…

因果关系:真的存在吗?

来源&#xff1a;白驹静夜思学图灵奖获得者、贝叶斯网络之父 Judea Pearl 和他的同事在 2018 年完成了的著作《The Book of Why: The New Science of Cause and Effect》&#xff08;中文名《为什么》&#xff09;中认为&#xff1a;机器学习不过是在拟合数据和概率分布曲线。变…

ThinkPhp知识大全(非常详细)

php框架 发瑞 一、真实项目开发步骤&#xff1a; 多人同时开发项目&#xff0c;协作开发项目、分工合理、效率有提高&#xff08;代码风格不一样、分工不好&#xff09;测试阶段上线运行对项目进行维护、修改、升级&#xff08;单个人维护项目&#xff0c;十分困难&#xff…

linux 中如何查看块设备,在linux中,如何确定使用块设备的进程?

我在服务器中有一个磁盘,我正在迁移到LVM卷组.以前,它使用传统的DOS磁盘分区,hdb [1-5].我已经从hdb卸载了每个文件系统,使用hdb关闭交换,已经在设备上删除了一个较小的VG,然后使用fdisk重新分区,删除现有分区,并创建了2个分区,但在写完后,linux拒绝了重新读取分区表.使用hdpar…

盘点2019年336起机器人及相关领域投融资事件!注重细分领域深耕行业复苏趋势显现...

来源&#xff1a;机器人大讲堂2019年的投资就像是随着季节气候变化的&#xff0c;现在到了冬季&#xff0c;或许有些人等不到明年春天的回暖&#xff0c;但终究春天还是会来。机器人是继互联网热潮逐渐褪去后&#xff0c;投资人寻找到的新投资项目&#xff0c;科创板使得机器人…

项目管理论坛_【项目管理论坛】 第15期:如何做一名优秀的项目经理

点击上方蓝字关注中铁大桥局五公司企业是个人成长的平台&#xff0c;个人是企业发展的力量。心在一起&#xff0c;力出一孔。根据公司全年生产经营的“路线图”和“时间表”&#xff0c;围绕今年的任务目标&#xff0c;展开思考讨论&#xff0c;凝聚全员智慧&#xff0c;共同探…

单行文本与多行文本省略文本

一、单行文本省略 1.text-overflow:ellipsis;该属性用于当文本溢出的时候用省略号的方式显示。它还有一个属性值是clip&#xff08;溢出部分直接裁剪掉&#xff09;。 2.overflow:hidden;对溢出内容进行隐藏。 3.white-space:nowrap;强制在一行显示 二、多行文本省略 用-webkit…

linux驱动向不同串口发数据,Linux串口(serial、uart)驱动程序设计

一、核心数据结构串口驱动有3个核心数据结构&#xff0c;它们都定义在1、uart_driveruart_driver包含了串口设备名、串口驱动名、主次设备号、串口控制台(可选)等信息&#xff0c;还封装了tty_driver(底层串口驱动无需关心tty_driver)。struct uart_driver {struct module …

推荐系统技术演进趋势:召回-排序-重排

来源&#xff1a;DataFunTalk导读&#xff1a;推荐系统技术&#xff0c;总体而言&#xff0c;与 NLP 和图像领域比&#xff0c;发展速度不算太快。不过最近两年&#xff0c;由于深度学习等一些新技术的引入&#xff0c;总体还是表现出了一些比较明显的技术发展趋势。这篇文章试…

cpuz测试分数天梯图_2018年9月CPU天梯图 桌面级处理器天梯图最新版

2018年9月CPU天梯图发布了&#xff0c;通过最新的CPU天梯图我们可以了解各大CPU的性能&#xff0c;目前CPU天梯图已经更新到2018年9月。想要了解最新的CPU动向&#xff0c;一起来看看最新的CPU天梯图吧。2018年9月CPU天梯图 桌面级处理器天梯图最新版CPU性能的排行很难在一张图…

ansbile简单应用

一、简介 Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine. Design Principles Have a dead simple setup process and a minimal learning curve Be super fast & parallel by def…