Por que getcwd() retornar um diretório diferente do que um local pwd?
Pergunta
Estou fazendo algumas PHP coisas em um Ubuntu server.
O caminho que eu estou trabalhando é /mnt/dev-windows-dados/Staging/mbiek/test_list mas o PHP chamada getcwd()
está de regresso /mnt/dev-windows/Staging/mbiek/test_list (observe como é dev-windows em vez do dev-windows-dados).
Não existem links simbólicos em qualquer lugar.
Existem outras causas para getcwd()
voltando um caminho diferente a partir de um local pwd
chamada?
Editar
Eu descobri.O DOCUMENT_ROOT em PHP é definido para /mnt/dev-windows que joga tudo fora.
Solução
Qual arquivo você está chamando o getcwd() e é de que o ficheiro está incluído no que você está executando (por exemplo,execução index.php, incluindo startup.php que contém gwtcwd()).
É o arquivo que você está executando em /dev-windows/ ou /dev-windows-dados/?Ele trabalha com o arquivo que você está sendo realmente executado.
Aqui está um exemplo do meu projeto atual:
index.php
<?php
require_once('./includes/construct.php');
//snip
?>
includes/construct.php
<?php
//snip
(!defined('DIR')) ? define('DIR', getcwd()) : NULL;
require_once(DIR . '/includes/functions.php');
//snip
?>
Outras dicas
Eu percebi isso e atualizada do OP com a solução.
Eu pensei que getcwd() estava voltando de um sistema de arquivos caminho, ao invés de incluir uma url relativa caminho.
De qualquer forma, permanece o fato de que o caminho /mnt/dev-windows não existe enquanto /mnt/dev-windows-dados.
@Marcos
Bem, isso é apenas estranhas!Qual é a sua include_path
que poderia estar atrapalhando thigns redor.Eu, pessoalmente, abandonou-se a favor dos contants como é tão temperamental (ou eu nunca aprendi a fazer justiça).