Pourquoi getcwd() renverrait-il un répertoire différent d'un mot de passe local ?
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.
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
Je l'ai compris et mis à jour l'OP avec la solution.
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).