Php lighttpd、绝对默认索引和断开的getenv(“脚本名称”)

Php lighttpd、绝对默认索引和断开的getenv(“脚本名称”),php,indexing,lighttpd,Php,Indexing,Lighttpd,对于目录索引,我在lighttpd conf文件中将默认索引文件名设置为绝对路径: index-file.names += ( "index.html", "index.php", "/_h5ai/server/php/index.php" ) 在这个/\u h5ai/server/php/index.php脚本中,我尝试使用 $path = getenv("SCRIPT_NAME"); 这在apachehttpd、nginx和Cherokee中运行良好。他们将其解析为类似于/\u h5ai

对于目录索引,我在lighttpd conf文件中将默认索引文件名设置为绝对路径:

index-file.names += ( "index.html", "index.php", "/_h5ai/server/php/index.php" )
在这个
/\u h5ai/server/php/index.php
脚本中,我尝试使用

$path = getenv("SCRIPT_NAME");
这在apachehttpd、nginx和Cherokee中运行良好。他们将其解析为类似于
/\u h5ai/server/php/index.php
。但是lighttpd将其解析为当前URL,例如
/abc/
,再加上这个绝对路径:
/abc//\u h5ai/server/php/index.php

有没有办法在lighttpd中解决这个问题

  • 在上下文中查看:这在GitHub上
  • 工具本身:是的,但是演示是由ApacheHTTPD提供的

更新


已经尝试过PHP选项
cgi.fix\u pathinfo=1
,但不起作用:(

可能此错误适用于您的问题:-如果是,请尝试使用“fix root scriptname”在您轻巧的FCGI配置中。谢谢!但不适用于这里。。是否还有一个ENV的SCRIPT\u FILENAME成员持有更有用的值?您可以使用该值与DOCUMENT\u ROOT的差异来获取脚本的真实URI吗?谢谢,我现在正在使用类似的方法。。但它仍然感觉像是一个解决方法/错误修复(仅lighttpd需要)。但它是有效的。你能把你如何解决它的细节作为一个答案吗?我特别感兴趣的是,这如何适用于h5ai