LighTPD e PHP não funcionam se fora da pasta LightTPD

2

Eu preciso configurar um servidor web simples com PHP no Windows XP que um número de pessoas diferentes usará para testes locais.

Estou usando o LightTPD 1.4.30-4-IPv6-Win32-SSL e o PHP 5.2.

Até agora criei esta estrutura de pastas:

tools/
   LightTPD/
       htdocs/
   PHP/

Eu configurei o PHP como CGI e a raiz do documento como server_root + "/htdocs" . Ele funciona bem (bem, é lento, mas eu não quero me incomodar com o FastCGI por enquanto :)).

Meu problema é quando tento colocar o htdocs fora da pasta LightTPD, assim:

htdocs/
tools/
    LightTPD/
    PHP/

Eu atualizo a raiz do documento para server_root + "/../../htdocs" e enquanto as páginas HTML estáticas funcionam bem , as páginas do PHP param de funcionar (elas retornam um "Nenhum arquivo de entrada especificado"). Eu literalmente apenas altero a raiz do documento, não mudei nada no php.ini ou em qualquer outro lugar. Observe também que deixei todos os valores doc_root , user_dir e cgi.force_redirect nos valores padrão no php.ini e funciona quando o htdocs está dentro do LightTPD, mas não quando eu o movo para fora.

Alguma ideia de por que ele está quebrando?

Aqui está o meu lightTPD.conf:

server.modules              = (
                            "mod_access",
                            "mod_accesslog",
                           "mod_alias",
                           "mod_cgi",
                            "mod_status",
                           )


include "variables.conf"
include "mimetype.conf"

# THIS WORKS
server.document-root        = server_root + "/htdocs"
# THIS DOESN'T
#server.document-root        = server_root + "/../../htdocs"

server.upload-dirs          = ( temp_dir )

index-file.names            = ( "index.php", "index.pl", "index.cgi", "index.cml",
                            "index.html", "index.htm", "default.htm" )

server.event-handler        = "libev"

url.access-deny             = ( "~", ".inc" )

$HTTP["url"] =~ "\.pdf$" {
    server.range-requests = "disable"
}

static-file.exclude-extensions = ( ".php", ".pl", ".cgi" )
server.errorlog = server_root + "/logs/error.log"

######### Options that are good to be but not neccesary to be changed #######

dir-listing.activate        = "enable"

#### CGI module
cgi.assign                 = ( ".php" => server_root + "/../PHP/php-cgi.exe" )

status.status-url           = "/server-status"
status.config-url           = "/server-config"
    
por Marco83 30.11.2012 / 17:15

1 resposta

0

Eu não posso lhe dar o porquê, mas lighty não parece gostar da notação parental .. . Acabei de testar isso e se você especificar o caminho completo (não se incomode em usar server_root em sua configuração, ele funcionará.

    
por 02.10.2013 / 20:24