PHP - 停止显示错误中的完整路径

2024-05-02

有什么方法可以告诉 PHP 不显示错误、警告或通知消息中存在任何错误的文件的完整路径。我知道我可以禁用错误;但是,只是为了避免任何风险。

例如:我的脚本返回一个错误,显示如下:

Fatal error: Call to undefined function shell_exec1() in /home/[user]/public_html/index.php on line 1

我想显示它像

Fatal error: Call to undefined function shell_exec1() in ~/index.php on line 1

这样,显示错误消息的方式会更安全,同时不会将文件的完整路径暴露给坏人。

这可能吗?如何?


只需编写您自己的错误处理程序即可。看:http://www.php.net/manual/en/function.set-error-handler.php http://www.php.net/manual/en/function.set-error-handler.php

function myErrorHandler($errno, $errstr, $errfile, $errline) {
    if (!(error_reporting() & $errno)) {
        // This error code is not included in error_reporting
        return;
    }

    switch ($errno) {
        case E_USER_ERROR:
        echo "<b>My ERROR</b> [$errno] $errstr<br />\n";
        echo "  Fatal error on line $errline in file $errfile";
        echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
        echo "Aborting...<br />\n";
        exit(1);
        break;

    case E_USER_WARNING:
        echo "<b>My WARNING</b> [$errno] $errstr<br />\n";
        break;

    case E_USER_NOTICE:
        echo "<b>My NOTICE</b> [$errno] $errstr<br />\n";
        break;

    default:
        echo "Unknown error type: [$errno] $errstr<br />\n";
        break;
    }

    /* Don't execute PHP internal error handler */
    return true;
}

set_error_handler("myErrorHandler");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP - 停止显示错误中的完整路径 的相关文章

  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 使用 PHP 删除文件 onclick [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在用户单击删除链接时删除文件 但
  • SQL:在行中保留计数或从数据库中选择计数

    示例 我有 2 张桌子 类别 Posts 在这样的类别中保留帖子编号是一个好方法吗 类别 id title posts 1 golf 50 2 soccer 90 posts id title category id 1 news 1 1
  • laravel 中的 jwt 中的“无法从请求中解析令牌”

    我面临着 无法从请求中解析令牌 Laravel 中的 JWT 错误 我在 localhost Windows 7 中的 Xampp 中尝试了相同的代码 它正在工作 但在服务器上它不起作用 我已经通过了 授权 标头中的令牌也发生了变化 hta
  • 从前端更改记录顺序

    我在编写下一个功能时遇到问题 我希望用户能够重新排列记录并更改 display order 值 我使用 Jquery UI 的可拖放功能来促进这一点 我可以看到如何简单地交换 display order 值 但我想为一条记录设置一个显示顺序
  • WordPress Tax_query“和”运算符未按预期运行

    我有一个自定义帖子类型image自定义分类法称为图片标签 它像类别一样分层 以下是可能使用的标签的一些示例 Structure id 25 House id 56 Skyscraper Nature Animal Plant id 41 因
  • PHP表单提交后如何显示成功消息?

    这是代码 我想要这样 表单提交 gt page2 php gt 重定向 gt page1 php 这是消息 弹出窗口或其他内容 page1 php
  • 类别树的路由

    我正在使用Tree http www gediminasm org article tree nestedset behavior extension for doctrine 2类别树的学说扩展并希望有如下路线 cat subcat1 s
  • Joomla getUser() 不显示更新的用户数据

    下面的代码允许我在用户的 Joomla 个人资料的个人资料页面中显示用户名 鉴于我已经覆盖了模板以获得我想要的外观和感觉 user JFactory getUser if user gt guest echo You are logged
  • 当控制器类扩展父控制器时,为什么我们仍然需要父构造函数?

    我是 CodeIgniter 和 OOP 的初学者 我正在读一页 CI 教程here http ellislab com codeigniter user guide tutorial news section html 我发现了一些让我产
  • 如何从表中选择所有偶数 id?

    我想从 MySQL 数据库的表中选择所有甚至帖子 ID 然后显示它们 我还想获取所有带有奇怪 id 的帖子并将它们显示在其他地方 我想使用 PHP 来完成此操作 因为这是我使用的服务器端语言 或者 我是否必须选择所有帖子 然后使用 Java
  • CodeIgniter PHP 模型访问“无法找到您指定的模型”

    我一直在尝试为我正在构建的这个网站加载一些模型 但不知道什么原因 会带来如下错误 An Error Was Encountered Unable to locate the model you have specified logon mo
  • 如何在 PHP 中上传 .txt 文件并在另一页面上逐行读取该文件?

    我的目标是在表单上上传 txt 文件 浏览 将文件发布到另一个 php 页面 然后逐行读取该文件 到目前为止我的代码就在这里 文件 1 HTML 上传
  • 使用 jquery 和 php 测试表单输入是否为 1 或 2 位整数

    我有一个表单 其中有五个字段全部设置为 maxlength 2 基本上 我希望唯一可以输入的值是一位或两位整数 因为在将值存储在数据库中之前对这些字段执行计算 是否有任何 jquery 不允许用户输入不是整数的值 另外 用 jquery 和
  • “随机数”和“GUID”有什么区别?

    这个问题here https stackoverflow com questions 1066611 what are best practices for activation registration password reset li
  • MySQL 的 TEXT 类型的 Oracle 等效项

    Oracle 是否有与 MySQL 等效的列类型TEXT type 如果不是 那么通常如何存储较大的文本块 BLOB varchar 32767 如果重要的话 它是通过 PHP 访问 Oracle 10 历史背景是非常受欢迎的 Oracle
  • 未找到 mysqli 类

    我用过mysqli连接到我的应用程序中的数据库 几天前一直运行良好 突然出现以下错误 致命错误 找不到类 mysqli 我用来连接数据库的行是 link new mysqli localhost uname password scripts
  • 如何使用 Mockery 在第 N 次调用模拟方法时抛出异常

    我需要测试我编写的某些代码多次调用另一个类上的方法时的行为 其中一次调用将导致抛出异常 我在用Mockery http docs mockery io模拟可能引发异常的类 因此 就我而言 该方法将被调用三次 我需要它在第二次抛出异常 这是我
  • 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

    我正在这样做 students Student find gt all return this gt render process array students gt students 然后在视图中 foreach students as

随机推荐

  • IE10及以下浏览器检测

    我只想只针对 IE10 及以下版本的 IE 浏览器 请帮助我 我试过下面的代码 var userAgent navigator userAgent var regexIe8 new RegExp Trident 4 0 Trident 5
  • 动态 CRM 插件注册工具返回不安全或安全错误的错误

    我在尝试使用 SDK 中的插件注册工具注册插件时遇到错误 这个问题不知从何而来 因为在今天之前我总是能够轻松地使用该工具进行插件注册 错误信息是这样的 未处理的异常 System ServiceModel Security MessageS
  • 如果对象被破坏,打字稿类型会失败

    我有一个函数返回带有两个属性 res mes 的对象 其中一个为空 const fetchJSON
  • 如何将 CLI 应用程序作为 Windows 服务运行?

    假设我有一个第三方应用程序 它执行后台工作 但将所有错误和消息打印到控制台 这意味着 目前我们必须保持用户登录到服务器 并在每次重新启动时重新启动应用程序 双击 不太酷 我有点确定 有一种简单的方法可以做到这一点 通用服务包装器 可以使用日
  • 为什么静态成员会降低语言的面向对象性?

    我现在正在学习 Scala 我在 Odersky 的 Scala 编程 第二版中看到了这样的说法 Scala 比 Java 更面向对象的一种方式是 Scala 中的类不能有静态成员 我在 Java 或 Scala 方面都没有足够的经验 无法
  • TDD 红绿灯的重构阶段 - 如何做到这一点?

    所以我对一个班级做了以下测试Board那将会诞生 TestMethod public void Set The Origin As Violet And The Query Confirms It Board board new Board
  • 批处理文件中的 %* 是什么意思?

    我见过的用法 在批处理文件和命令行中 有人可以解释一下的典型用法吗 有一个例子吗 它的意思是 命令行中的所有参数 例如 当您想要将命令行从批处理文件转发到另一个程序时 它非常有用 REM mybatchfile cmd echo You c
  • printf() var-arg 引用如何与堆栈内存布局交互?

    给出代码片段 int main printf Val d 5 return 0 是否有任何保证编译器会存储 Val d and 5 连续地 例如 d l a V 5 Format String
  • 有什么方法可以分析 Flex 中内置的 SWF 的大小吗?

    我的 Flex 应用程序看起来比应有的要大 里面有很多代码 但资产不多 而且看起来很大 但我不知道如何弄清楚空间的去向 我知道 link report 选项 但它只给出外部链接库类的大小 我非常有兴趣查看应用程序中所有类和资源大小的报告 如
  • 在 Adob​​e Air 中访问 iframe 的内容

    我在弄清楚如何访问 Air 中 iframe 中的内容时遇到了很多麻烦 这是我一直在测试的一些示例 jquery 代码 document ready function frame ready function air trace frame
  • 在mysql中使用GROUP BY时,如何选择最长的文本字段,如MAX()?

    在 MySql 中 您可以使用MAX 使用时获得最高值的函数GROUP BY 我怎样才能做同样的事情来获得最长的文本字符串 样本表 id post id title body 1 ZXBF1J Favorite Color My favor
  • 如何确定哪个 URL 被 App Transport Security 阻止?

    我正在将 iOS 应用程序升级到 iOS 9 并且有一些不安全的 URL 并且我需要应用程序传输安全性的一些例外情况 我已经添加了我所知道的两个 但现在出现了一些警告 应用程序传输安全性已阻止明文 HTTP http 资源加载 因为它不安全
  • 使用php.ini、.htaccess和zlib.output压缩js、css和php文件

    我一直在尝试使用 gzip 压缩我的网站 尽管我的服务器不允许我使用 mod deflate 所以我在这里找到了替代解决方案 http www warpconduit net 2010 10 23 enabling gzip compres
  • 使用 JavaScript 更改 iframe 中的 URL

    我有一个 iframe 它从父页面调用一个函数 该函数是 window location 但这不会更改 url 有没有办法让 iframe 从父页面调用函数 这会导致 iframe 更改 url 我还有一个基本问题 如果我有一个 ifram
  • 传单:同一页上有多个地图

    我搜索过类似的问题 但没有找到适合我的情况的答案 我想使用 3 张传单地图 每张都有不同的内容 出现两个问题 仅显示第一个 比例和缩放控件仅显示在第三个中 我附上了一个 jsfiddle 以防你能帮忙 const mapbox L tile
  • C++11 左值到右值的转换?

    我认为我缺少一些关于左值到右值标准转换的基本知识 从 C 11 4 1 开始 非函数 非数组类型 T 的左值可以转换为纯右值 所以我们声明一个变量x int x 42 一种表达x在此范围内现在是左值 因此也是左值 它满足 4 1 中左值到右
  • HTTP PUT 请求通常如何发出?

    我知道 HTTP PUT 是一个幂等请求 根据定义 引用自rfc http www w3 org Protocols rfc2616 rfc2616 sec9 html The PUT method requests that the en
  • 实例标准化与批量标准化

    据我所知 批量归一化通过将激活转向单位高斯分布来帮助加快训练速度 从而解决梯度消失问题 批量归一化行为在训练 使用每个批次的平均值 var 和测试时间 使用训练阶段的最终运行平均值 var 时应用不同 另一方面 实例归一化充当本文提到的对比
  • 删除添加到购物车通知并更改 Woocommerce 中的“添加到购物车”按钮

    How to remove has been added to your cart text from shopping cart page and how to replace quantity and add to cart butto
  • PHP - 停止显示错误中的完整路径

    有什么方法可以告诉 PHP 不显示错误 警告或通知消息中存在任何错误的文件的完整路径 我知道我可以禁用错误 但是 只是为了避免任何风险 例如 我的脚本返回一个错误 显示如下 Fatal error Call to undefined fun