[php-maint] Bug#464389: php5-cgi: _SERVER["PHP_SELF"] ($PHP_SELF) is empty

Olaf van der Spek Olaf at XWIS.Net
Tue Dec 23 09:36:53 UTC 2008


/etc/lighttpd/lighttpd.conf:
server.document-root       = "/var/www/"
server.modules  += ( "mod_fastcgi", "mod_rewrite", "mod_redirect" )
fastcgi.server = (
         ".php" => ((
                 "bin-path" => "/usr/bin/php-cgi",
                      "socket" => "/tmp/php.socket",
                      "max-procs" => 1,
                      "bin-environment" => (
                        "PHP_FCGI_CHILDREN" => "4",
                        "PHP_FCGI_MAX_REQUESTS" => "10000"
                      ),
                      "bin-copy-environment" => (
                        "PATH", "SHELL", "USER"
                      ),
                      "broken-scriptfilename" => "disable"
         ))
)

/var/www/api.php
<?php
echo "<pre>";
print_r($_SERVER);
echo "</pre>";

Output:
Array
(
     [PATH] => /sbin:/bin:/usr/sbin:/usr/bin
     [SHELL] => /bin/bash
     [USER] => root
     [PHP_FCGI_CHILDREN] => 4
     [PHP_FCGI_MAX_REQUESTS] => 10000
     [FCGI_ROLE] => RESPONDER
     [SERVER_SOFTWARE] => lighttpd/1.4.19
     [SERVER_NAME] => svn.xwis.net
     [GATEWAY_INTERFACE] => CGI/1.1
     [SERVER_PORT] => 80
     [SERVER_ADDR] => 192.168.1.15
     [REMOTE_PORT] => 1355
     [REMOTE_ADDR] => 192.168.1.34
     [SCRIPT_NAME] => /api.php
     [PATH_INFO] =>
     [SCRIPT_FILENAME] => /var/www/api.php
     [DOCUMENT_ROOT] => /var/www/
     [REQUEST_URI] => /api.php
     [QUERY_STRING] =>
     [REQUEST_METHOD] => GET
     [REDIRECT_STATUS] => 200
     [SERVER_PROTOCOL] => HTTP/1.1
     [HTTP_HOST] => svn.xwis.net
     [HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; 
en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5 (.NET CLR 3.5.30729)
     [HTTP_ACCEPT] => 
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
     [HTTP_ACCEPT_LANGUAGE] => nl,en-us;q=0.7,en;q=0.3
     [HTTP_ACCEPT_ENCODING] => gzip,deflate
     [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
     [HTTP_KEEP_ALIVE] => 300
     [HTTP_CONNECTION] => keep-alive
     [HTTP_COOKIE] => *
     [HTTP_CACHE_CONTROL] => max-age=0
     [PHP_SELF] => /api.php
     [REQUEST_TIME] => 1230024634
     [argv] => Array
         (
         )

     [argc] => 0
)

It still works for me.

 > "broken-scriptfilename" => "enable"

This is the default (AFAIK), you've disabled it. Maybe that's related?

If you use my exact config, does the problem still occur?

Krzysztof Krzyżaniak wrote:
> Olaf van der Spek wrote:
>>  > when running php in fast-cgi mode on lighttpd server 
>> _SERVER["PHP_SELF"] has no value set.
>>
>> Works for me (on unstable). Does it still fail for you?
> 
> 
> Yes,
> 
> http://firefly.l1.jumon.net/api.php (localhost url):
> 
> api.php is:
> 
> <?php
> echo "<pre>";
> print_r($_SERVER);
> echo "</pre>";
> 
> gives:
> 
> Array
> (
>     [PATH] => /sbin:/bin:/usr/sbin:/usr/bin
>     [SHELL] => /bin/sh
>     [PHP_FCGI_CHILDREN] => 4
>     [PHP_FCGI_MAX_REQUESTS] => 10000
>     [FCGI_ROLE] => RESPONDER
>     [SERVER_SOFTWARE] => lighttpd/1.4.19
>     [SERVER_NAME] => firefly.l1.jumon.net
>     [GATEWAY_INTERFACE] => CGI/1.1
>     [SERVER_PORT] => 80
>     [SERVER_ADDR] => ::ffff:127.0.0.1
>     [REMOTE_PORT] => 60274
>     [REMOTE_ADDR] => ::ffff:127.0.0.1
>     [SCRIPT_NAME] => /api.php
>     [PATH_INFO] =>
>     [SCRIPT_FILENAME] => /srv/web/l1/api.php
>     [DOCUMENT_ROOT] => /srv/web/l1
>     [REQUEST_URI] => /api.php
>     [QUERY_STRING] =>
>     [REQUEST_METHOD] => GET
>     [REDIRECT_STATUS] => 200
>     [SERVER_PROTOCOL] => HTTP/1.1
>     [HTTP_HOST] => firefly.l1.jumon.net
>     [HTTP_USER_AGENT] => Mozilla/5.0 (X11; U; Linux i686; en-US;
> rv:1.9.0.5) Gecko/2008122011 Iceweasel/3.0.5 (Debian-3.0.5-1)
>     [HTTP_ACCEPT] =>
> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
>     [HTTP_ACCEPT_LANGUAGE] => pl,en-us;q=0.7,en;q=0.3
>     [HTTP_ACCEPT_ENCODING] => gzip,deflate
>     [HTTP_ACCEPT_CHARSET] => UTF-8,*
>     [HTTP_KEEP_ALIVE] => 300
>     [HTTP_CONNECTION] => keep-alive
>     [HTTP_COOKIE] =>
> __utma=203702797.534275514.1225368536.1225721011.1225725625.3;
> __utmz=203702797.1225368536.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none);
> __qca=1171963055-40786117-96973827;
> __utma=232068872.127253478.1225893641.1229956121.1229962477.102;
> __utmz=232068872.1225893642.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none);
> wikicitiesUserName=Eloy.wikia; wikicitiesskinpref=monaco-brick-1;
> wikicities_session=a64b5516af927e3dfcc7e5736a4721d5; __utmc=232068872;
> __qcb=1989479328; wikicitiesLoggedOut=20081222151935; wkabkt=;
> wikicitiesUserID=51098; wikicitiesToken=ee9b0df678d705f22ede69cc42d4712f
>     [HTTP_CACHE_CONTROL] => max-age=0
>     [PHP_SELF] =>
>     [REQUEST_TIME] => 1230024048
>     [argv] => Array
>         (
>         )
> 
>     [argc] => 0
> )
> 
> PHP configuration:
> 
> server.modules  += ( "mod_fastcgi", "mod_rewrite", "mod_redirect" )
> fastcgi.server = (
>         ".php" => ((
>                 "bin-path" => "/usr/bin/php-cgi",
>                      "socket" => "/tmp/php.socket",
>                      "max-procs" => 1,
>                      "bin-environment" => (
>                        "PHP_FCGI_CHILDREN" => "4",
>                        "PHP_FCGI_MAX_REQUESTS" => "10000"
>                      ),
>                      "bin-copy-environment" => (
>                        "PATH", "SHELL", "USER"
>                      ),
>                      "broken-scriptfilename" => "disable"
>         )),
>         "/404handler.fcgi" => ((
>                 "socket" => "/tmp/fastcgi.404handler",
>                 "max-procs" => 4,
>                 "bin-path" =>
> "/srv/web/l1/repo/extensions/wikia/Our404Handler/404handler.pl",
>                 "bin-environment" => (
>                         "PHP_FCGI_CHILDREN" => "4",
>                         "PHP_FCGI_MAX_REQUESTS" => "10000"
>                 ),
>                 "bin-copy-environment" => (
>                         "PATH", "SHELL", "USER"
>                 ),
>                 "check-local" => "disable",
>                 "broken-scriptfilename" => "disable"
>         ))
> 
> )
> 
>   eloy






More information about the pkg-php-maint mailing list