如何重写php错误信息中的链接


How to rewrite the links in the error message of php

dev环境分为两部分:

  1. IDE +源代码(都在开发人员的笔记本电脑上)
  2. 执行代码的远程服务器

这两个环境具有不同的文件树结构。因此,php错误信息(fatal, warning, notice等)中显示的url与服务器匹配,而与笔记本电脑不匹配。

是否有一种方法重写链接(替换根)在php的错误消息?(这将允许从错误消息中直接浏览到笔记本电脑上正确的文件。)

在一些php错误信息中重写链接的例子:

原始是/var/www/library/form/detail.php(匹配服务器)

期望是/home/project/www/library/form/detail.php(匹配笔记本电脑)

指出:

  • 固定改写规则:/var/... => /home/project/...
  • 这只适用于dev环境。

把它放在代码的开头:

ob_start(function($c) {
    return str_replace("/var/www/","/home/project/www/",$c);
});

这将导致输出中的/var/www/实例被/home/project/www/替换。这对于开发来说应该没问题。

对于实际部署,无论如何都要有适当的错误处理,并且可以通过适当的错误处理系统自己记录错误,该系统可以包括上面的替换