php - 如何使用 PHP 执行 Apache 子请​​求?

标签 php include

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

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

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

PHP Warning: virtual(): Unable to include '/var/www/error/HTTP_NOT_FOUND.html.var' - request execution failed in /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');

关于php - 如何使用 PHP 执行 Apache 子请​​求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10240076/

相关文章:

javascript - 无法使 MailChimp api v2 工作

c - #include 其他 C 程序

C++ 基类未定义

php - 连接多个用户条目并提交到单个 MySQL 数据库条目

php - 主机 ' ' 不允许连接到此 MySQL 服务器

php - Laravel:无法访问 Eloquent 关系

ruby-on-rails-3.1 - 在 rails 3.1 中的 Assets 管道之外包含一个 JS 文件?

c++ - 此处首先定义的多重定义 gcc

c - Eclipse 编辑器不显示函数错误,不包括枚举值

php - 查询时的 Codeigniter SET 变量