Neden () bir yerel pwd daha farklı bir dizine geri dönmek getcwd istiyorsunuz?

4 Cevap php

Ben bir Ubuntu sunucu üzerinde bazı php şeyler yapıyorum.

Ben çalışıyorum yol /mnt/dev-windows-data/Staging/mbiek/test_list ama PHP çağrı getcwd() /mnt/dev-windows/Staging/mbiek/test_list (o dev-pencere yerine dev-windows-veri var nasıl fark) geri dönüyor .

Herhangi bir yerde herhangi sembolik bağlantıları bulunmamaktadır.

getcwd() yerel pwd çağrısından farklı bir yol dönmek için başka nedenleri var mı?

Edit

Ben bunu anladım. DOCUMENT_ROOT PHP /mnt/dev-windows olan her şeyi kapalı atar ayarlanır.

4 Cevap

Hangi dosya Eğer getcwd () arama ve dosya (gwtcwd () içeren startup.php dahil, örneğin çalışan index.php) çalışan birine dahil olmasıdır vardır.

/ Dev-windows çalışan / veya / dev-windows-veri olan dosya / mi? Bu gerçekten çalışan dosya üzerinde çalışır.


İşte benim şimdiki projenin bir örnek:

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

@Ross

Ben bunu anladım ve çözümü ile OP güncellendi.

@Ross

I getcwd () bir dosya sistemi yolu ziyade göreli bir url yolu dönen düşündüm.

Her iki şekilde de, aslında / mnt / dev-windows-veri yok iken yolu / mnt / dev-windows doesn't var olduğunu kalır.

@ Mark

Peki bu sadece düz tuhaf! Neler senin include_path - etrafında thigns karıştırmasını olabileceğini. Sadece bu yüzden iştahlı (ya da ben bunu adalet öğrendim asla) gibi ben şahsen CONTANTS lehine hendeğe ettik.