如何使用 PHP 执行 Apache 子请求



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

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

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

PHP 警告: 虚拟(): 无法包含 '/var/www/error/HTTP_NOT_FOUND.html.var' - 请求执行失败 /var/www/html/test on line 100

我已经检查了以下操作:

  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 对错误文件夹和文件具有读取访问权限。

可能导致警告的原因以及如何解决此问题?

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

virtual('/error/HTTP_NOT_FOUND.html.var');

最新更新