2008-08-27 8 views
-1

Je fais des trucs php sur un serveur Ubuntu.Pourquoi getcwd() retournerait-il un répertoire différent de celui d'un pwd local?

Le chemin que je travaille dans est /mnt/dev-windows-data/Mise en scène/mbiek/test_list mais l'appel PHP getcwd() retourne /mnt/dev-windows/Mise en scène/mbiek/test_list (remarquez comment c'est dev-windows au lieu de dev-windows-data).

Aucun lien symbolique ne se trouve nulle part.

Existe-t-il d'autres causes pour getcwd() renvoyant un chemin différent d'un appel local de pwd?

Modifier

I figured it out. Le DOCUMENT_ROOT dans PHP est défini à /mnt/dev-windows qui jette tout hors tension.

Répondre

1

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

Le fichier que vous utilisez est/dev-windows/ou/dev-windows-data /? Cela fonctionne sur le fichier que vous utilisez actuellement.


Voici un exemple de mon projet actuel:

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 
?> 
0

@Ross

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

De toute façon, il reste que le chemin/mnt/dev-windows n'existe pas alors que/mnt/dev-windows-data le fait.

0

@ Mark

Eh bien, c'est tout simplement bizarre! Quel est votre include_path - qui pourrait être déconner autour. Je l'ai personnellement abandonné en faveur des contants car il est tellement capricieux (ou je n'ai jamais appris à rendre justice).

0

@Ross

I figured it out et mis à jour l'OP avec la solution.