HTML错误未显示

时间:2019-01-11 16:34:29

标签: php

我正在尝试测试PHP(7.2)HTML错误报告。

我已经从http://php.net/download-docs.php下载了“许多HTML文件” 存档,并将其解压缩到:

/home/user/public_html/php/manual/php-chunked-xhtml/

在apache的php.ini中,我已设置:

error_reporting = E_ALL
display_errors = On

html_errors = On
docref_root = "/~user/php/manual/php-chunked-xhtml/"
docref_ext = .html

并重新启动apache服务。

作为测试,我这样做:

printf();

哪种产量:

  

警告:printf()至少需要1个参数,其中0表示   /home/user/public_html/test/err.php,第10行

…,但未链接到手册页。仅限文字。

我在这里做错了什么?应该没有指向printf()的链接吗?


编辑:

phpinfo()说设置与ini(如上)相同。我也尝试将手册移至/var/www/html/phpmanual,但结果相同。我还添加了

ini_set("html_errors", true);

到测试文件,但结果没有变化。

该手册是可浏览的。


关于我的期望。每本手册都有:

  

html_errors布尔值

     
    

如果启用,错误消息将包含HTML标记。 HTML错误的格式会产生可点击的消息,将用户定向到页面     描述错误或导致错误的功能。这些     引用受docref_root和docref_ext影响。     如果禁用,则错误消息将仅是纯文本。

  

以为我会按照示例获得指向printf()的链接。

1 个答案:

答案 0 :(得分:1)

确定终于找到了它-HTML错误消息不包含所有可能错误的链接。例如:

strcmp();

生成警告:

  

警告:strcmp()恰好需要2个参数,给定0个参数

但是,即使文档包中存在一个链接,也没有指向strcmp()函数页面的链接。 (function.strcmp.html)

但是,此代码:

preg_match('/', null);

还会发出警告:

  

警告:preg_match()[function.preg-match.html]:找不到结尾定界符'/'

但是这个确实包含链接。不知道有什么区别,因为它们都是E_WARNING级别的消息,并且都有文档页面。