4

如果满足条件,我正在尝试使用 PHP 函数virtual()向具有“未找到”页面的用户正确显示错误文档。这是我在脚本上写的:

// if condition is met
virtual('/var/www/error/HTTP_NOT_FOUND.html.var');

不知何故,显示了一个空白页,这是我收到的警告:

PHP 警告:virtual(): Unable to include '/var/www/error/HTTP_NOT_FOUND.html.var' - 第 100 行 /var/www/html/test 中的请求执行失败

我已检查是否正在执行以下操作:

  1. 在 php.ini 中,include_path = ".:/var/www/error"

  2. 在 httpd.conf 中,

    <IfModule mod_negotiation.c>
    <IfModule mod_include.c>
     <Directory "/var/www/error">
      Options +Includes
      AddOutputFilter Includes html
      AddHandler type-map var
      Order allow,deny
      Allow from all
     </Directory>
     ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    </IfModule>
    </IfModule>
    
  3. Apache 具有对错误文件夹和文件的读取权限。

什么可能导致警告以及如何解决此问题?

4

1 回答 1

2

尝试从虚拟中删除根文件夹:

virtual('/error/HTTP_NOT_FOUND.html.var');
于 2012-04-20T05:36:01.380 回答