¿Por qué getcwd() devolvería un directorio diferente al de una pwd local?

StackOverflow https://stackoverflow.com/questions/30307

  •  09-06-2019
  •  | 
  •  

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.

¿Fue útil?

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

@Ross

Lo descubrí y actualicé el OP con la solución.

@Ross

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).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top