¿Por qué getcwd() devolvería un directorio diferente al de una pwd local?
Pregunta
Estoy haciendo algunas cosas de PHP en un servidor Ubuntu.
El camino en el que estoy trabajando es /mnt/dev-windows-data/Staging/mbiek/test_list pero la llamada PHP getcwd()
esta regresando /mnt/dev-windows/Staging/mbiek/test_list (observe cómo son dev-windows en lugar de dev-windows-data).
No hay enlaces simbólicos por ninguna parte.
¿Existen otras causas para getcwd()
regresando por un camino diferente al local pwd
¿llamar?
Editar
Me lo imaginé.El RAIZ DEL DOCUMENTO en PHP está configurado en /mnt/dev-ventanas que lo echa todo por la borda.
Solución
¿En qué archivo estás llamando a getcwd() y ese archivo está incluido en el que estás ejecutando (p. ej.ejecutando index.php, incluido startup.php que contiene gwtcwd()).
¿El archivo que está ejecutando está en /dev-windows/ o /dev-windows-data/?Funciona en el archivo que realmente estás ejecutando.
Aquí hay un ejemplo de mi proyecto actual:
index.php
<?php
require_once('./includes/construct.php');
//snip
?>
incluye/construct.php
<?php
//snip
(!defined('DIR')) ? define('DIR', getcwd()) : NULL;
require_once(DIR . '/includes/functions.php');
//snip
?>
Otros consejos
Lo descubrí y actualicé el OP con la solución.
Pensé que getcwd() devolvía una ruta del sistema de archivos en lugar de una ruta URL relativa.
De cualquier manera, el hecho es que la ruta /mnt/dev-windows no existe mientras que /mnt/dev-windows-data sí.
@Marca
Bueno, ¡eso es simplemente extraño!Cual es tu include_path
- Eso podría estar arruinando las cosas.Personalmente lo descarté en favor de los contants porque es muy temperamental (o nunca supe cómo hacerle justicia).