Usando diretórios de links simbólicos com o Apache, PHP e Windows 7

3

Estou tentando configurar um link simbólico para um diretório e estou recebendo o erro mais estranho. Eu estou usando:

mklink /d C:\www\site\inc C:\inc

em que C:\inc\script.php é o arquivo que preciso executar. Isso parece bastante simples, e funciona na primeira vez que executo o script (acessando http://localhost/inc/script.php ). Depois disso, no entanto, recebo um erro e não consigo executar novamente o script com êxito até excluir e recriar o link simbólico (mesmo desligar o Apache ou reiniciar o Windows não tem efeito).

Observe que todo o restante está sendo executado normalmente, o link simbólico funciona e o Apache tem permissão para acessar C:\inc e também o FollowSymLinks ativado. Aqui está o erro que estou recebendo:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'C:/inc/script.php' (include_path='.;C:\php5\pear') in Unknown on line 0

Alguém sabe qual é o acordo com o Desconhecido na linha 0 e por que ele executaria exatamente uma vez antes de dar este erro?

    
por chawkinsuf 21.01.2011 / 06:06

1 resposta

5

Por que não apenas usar o Alias no Apache para obter o que você deseja, em vez de usar o NTFS SymLinks?

Coloque isso no seu httpd.conf:

Alias /inc "C:/inc"

<Directory "C:/inc">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>
    
por 21.01.2011 / 11:26