Pourquoi getcwd() renverrait-il un répertoire différent d'un mot de passe local ?

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

  •  09-06-2019
  •  | 
  •  

Question

Je fais des trucs PHP sur un serveur Ubuntu.

Le chemin dans lequel je travaille est /mnt/dev-windows-data/Staging/mbiek/test_list mais l'appel PHP getcwd() revient /mnt/dev-windows/Staging/mbiek/test_list (remarquez qu'il s'agit de dev-windows au lieu de dev-windows-data).

Il n’y a aucun lien symbolique nulle part.

Y a-t-il d'autres causes pour getcwd() renvoyer un chemin différent d'un local pwd appel?

Modifier

Je l'ai compris.Le DOCUMENT_ROOT en PHP est défini sur /mnt/dev-windows ce qui chamboule tout.

Était-ce utile?

La solution

Dans quel fichier appelez-vous getcwd() et ce fichier est-il inclus dans celui que vous exécutez (par ex.en exécutant index.php, y compris startup.php qui contient gwtcwd()).

Le fichier que vous exécutez est-il dans /dev-windows/ ou /dev-windows-data/?Cela fonctionne sur le fichier que vous exécutez réellement.


Voici un exemple de mon projet actuel :

index.php

<?php
    require_once('./includes/construct.php');
    //snip
?>

inclut/construct.php

<?php
    //snip
    (!defined('DIR')) ? define('DIR', getcwd()) : NULL;

    require_once(DIR . '/includes/functions.php');
    //snip
?>

Autres conseils

@Ross

Je l'ai compris et mis à jour l'OP avec la solution.

@Ross

Je pensais que getcwd() renvoyait un chemin de système de fichiers plutôt qu'un chemin d'URL relatif.

Quoi qu’il en soit, il n’en demeure pas moins que le chemin /mnt/dev-windows n'a pas existe alors que /mnt/dev-windows-data existe.

@Marque

Eh bien, c'est tout simplement bizarre !Quel est votre include_path - ça pourrait déranger les choses.Personnellement, je l'ai abandonné au profit des contenus car c'est tellement capricieux (ou je n'ai jamais appris à lui rendre justice).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top