PHP运行时强制显示出错信息的代码

PHP代码出现错误时,默认情况下,PHP会自动隐藏错误信息,以保护服务器的安全。但有时候,开发人员需要看到完整的错误信息,以便更快地定位和解决问题。下面是完整的攻略过程。

步骤一:开启错误级别显示

PHP有多个错误级别,可以通过设置php.ini文件中的error_reporting参数来设置。我们可以如下修改php.ini文件(以Linux系统为例):

sudo vi /etc/php/7.2/apache2/php.ini

在该文件中搜索error_reporting参数,将其设置为E_ALL,即显示最严重的错误和警告信息。

error_reporting = E_ALL

保存退出文件。

步骤二:设置显示错误信息

在php.ini文件直接开启报错信息的情况下,PHP只会将错误信息记录在日志中,而不会在页面上显示。因此,我们需要创建一个php脚本,手动开启错误信息在页面上的显示。

在需要查看错误信息的php文件的顶部添加代码:

ini_set('display_errors', 'On');

这行代码将开启PHP报错信息的直接显示。

示例一

下面是一个示例脚本,演示如何在页面上显示PHP错误信息。

<?php 
// 开启显示错误
ini_set('display_errors', 'On');
// 尝试访问一个不存在的变量
echo $undefinedVariable; 
?>

在运行此脚本时,PHP会提示出错信息:

Notice: Undefined variable: undefinedVariable in /var/www/html/index.php on line 4

示例二

为了更加安全地控制错误信息显示,我们可以只在开发环境中开启显示错误信息的功能,而在部署生产环境时关闭报错信息的显示,防止错误信息对用户造成困扰。

在生产环境中,我们需要在php.ini文件中阻止错误信息的显示。在某些共享主机上,您可能无法访问该文件。您可以在php脚本中添加以下代码来关闭错误信息的显示:

ini_set('display_errors', 'Off');

在开发环境中,我们必须开启错误信息的显示,以便及时找到和解决问题。在此情况下,我们可以创建一个单独的文件,例如.env,用于存储当前环境是开发环境还是生产环境。如果当前环境为开发环境时,我们可以在需要调试的php文件页面的顶部添加以下代码:

if (file_exists('.env') && trim(file_get_contents('.env') == 'development')) {
  ini_set('display_errors', 'On');
}

这段代码会读取.env文件,并检查当前环境是否为开发环境。如果是,就会开启错误信息的显示。否则,错误信息将不会显示在页面上。

上面是本次回答完整攻略的所有内容,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP运行时强制显示出错信息的代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 菜鸟学PHP之Smarty入门

    菜鸟学PHP之Smarty入门 简介 Smarty是一个模板引擎,它专门用于分离应用程序逻辑和表示层。它将模板和PHP代码分开处理,在模板中只包含基础HTML、CSS和JavaScript,而不包含PHP的逻辑结构和语句。 Smarty支持标记、变量、修饰器和PHP函数调用等。Smarty的使用可以提高应用程序的可维护性,降低维护成本,极大地提高了开发效率。…

    PHP 2023年5月23日
    00
  • php获取英文姓名首字母的方法

    下面是PHP获取英文姓名首字母的方法的完整攻略: 方法一:使用substr()函数 substr()函数可以从字符串中取出指定长度的子字符串。利用substr()函数,可以轻松获取英文姓名的首字母。 先将英文姓名按空格分隔开,并存放到一个数组中; 遍历数组,使用substr函数获取每个字符串的第一个字母,拼接起来即可。 代码示例: $name = &quot…

    PHP 2023年5月26日
    00
  • php输出含有“#”字符串的方法

    PHP 中使用 echo 命令可以将字符串输出到浏览器上,如果字符串中包含“#”这样的特殊字符,我们需要进行特殊的处理才能输出该字符串。下面是一些方法可以避免这种问题。 方法一:使用转义字符 在 PHP 中,我们可以使用反斜杠“\”将特殊字符变成普通字符,从而正常输出包含这些特殊字符的字符串。例如: $text = ‘This is #hash tag’; …

    PHP 2023年5月26日
    00
  • PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述

    面向接口编程和耦合方法是设计模式中非常重要的概念,下面我将详细讲解PHP中如何用接口、抽象类、普通基类实现这两个概念。 面向接口编程 什么是面向接口编程 面向接口编程(Interface Oriented Programming)是一种编程模式,其核心思想是面向接口编程而非面向实现编程,也就是说,我们不关注函数或类的内部如何实现,只需要专注于定义最小接口,只…

    PHP 2023年5月27日
    00
  • thinkphp中常用的系统常量和系统变量

    这里为大家详细讲解”ThinkPHP中常用的系统常量和系统变量”。 首先,简单介绍下系统常量和系统变量的定义。 系统常量和系统变量都是指在ThinkPHP中已经定义好的变量或者常量。它们都是系统级别的,可以随时在项目各处使用。相对于自定义常量和变量,系统常量和系统变量更加方便快捷,可以大大提高开发效率。 接下来,我们详细介绍下ThinkPHP中常用的系统常量…

    PHP 2023年5月30日
    00
  • php floor()函数案例详解

    PHP floor()函数案例详解 在进行 Web 开发时,我们经常会用到一些数学相关的函数,比如说向下取整函数(floor())。这篇文章将详细讲解 PHP 中的 floor() 函数,以及如何使用它来进行数字的精确计算。 什么是 floor() 函数? 在 PHP 中,floor() 函数用于对一个浮点数进行向下取整(即去掉小数部分,取整数部分)。 fl…

    PHP 2023年5月26日
    00
  • 微信小程序存在漏洞吗 微信小程序会堵上那些app漏洞吗

    微信小程序存在漏洞吗 是的,微信小程序同样存在漏洞。随着微信小程序的普及和使用,黑客也开始尝试攻击微信小程序,以获取非法利益或窃取用户信息等。 微信小程序攻击包括以下漏洞类型: XSS(跨站脚本)漏洞:黑客可以通过注入恶意脚本,来窃取用户信息、欺骗用户等。 CSRF(跨站请求伪造)漏洞:黑客可以通过构造特制的链接或网页,来进行针对性攻击,如恶意转账、修改用户…

    PHP 2023年5月23日
    00
  • PHP使用array_merge重新排列数组下标的方法

    当我们在开发PHP程序时,可能会遇到需要重新排列数组下标的情况,这时我们可以使用PHP内置函数 array_marge() 来实现。本文将详细讲解使用 array_merge() 重新排列数组下标的完整攻略。 什么是array_merge() array_merge() 函数是 PHP 中的一个内置函数,用于合并两个或多个数组。它可以将多个数组合并成一个新数…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部