• 19-06-2020, 17:00:52
    #1
    Merhabalar,

    require __DIR__ kullanarak gerekli PHP dosyalarını import ediyorum. Localhost'ta çalışıyorken hiç sorun yok. Direkt C dizininden başlayıp dosyayı buluyor. Fakat VPS sunucuda aşağıdaki gibi bir hata alıyorum.

    Warning: require(/var/www/clients/client1/web1/web1/path/to/folder/file.php): failed to open stream: No such file or directory in /var/www/clients/client1/web1/web/path/to/folder/file.php on line 10
    Fatal error: require(): Failed opening required '/var/www/clients/client1/web1/web/path/to/folder/file.php' (include_path='.:/usr/share/php') in /var/www/clients/client1/web1/web/path/to/folder/file.php on line 10

    require './path/to/folder/file.php' olarak değil de import işlemini direkt web1/ dizininden nasıl başlatabilirim?

    set_include_path('var/www/clients/client1/web1/folder/to/folder/'); ile çözemedim sorunu.
    include_path='.:/usr/share/php' kısmında tam olarak hangi dizini eklemem gerekiyor bilmiyorum.

    Edit:
    FTP rootpath: /var/www/clients/client1/web1

    $path = '/var/www/clients/client1/web1';
    set_include_path(get_include_path() . PATH_SEPARATOR . $path);


    Bu şekilde bir deneme yaptım fakat yine olmadı.

    Yardımcı olabilirseniz çok memnun olurum.

    Teşekkürler.
  • 19-06-2020, 17:22:31
    #2
    hHocam __DIR__ mevcut dosya konumundan başlatır.
    Bu şekilde kullanmak yerine sitenizin kök dizindede bir sabit oluşturup diğer dosyalarda kullanabilirsiniz.
    config.php
    define('ROOT_DIR', __DIR__);
    alt dosyalardan bu dosyayı manuel çağırırsanız diğer istek yapacağınız dosyalara fix bu değeri kullanabilirsiniz
    include '../config.php';
    include ROOT_DIR . 'inc/system.php';
    include ROOT_DIR . 'theme/index.php';
    gibi:

    Alternatif olarak aşağıda ki şekilde DOCUMENT_ROOT kullanarak kök dizinden ilerleyerek çekebilirsiniz. Bunu bi sabite atama yaparsanız daha rahat kullanım olabilir
    $_SERVER['DOCUMENT_ROOT'] . '/inc/system.php';
    $_SERVER['DOCUMENT_ROOT'] . '/theme/index.php';

    Umarım yorumum sizin için faydalı olmuştur
  • 27-06-2020, 02:07:06
    #3
    mikropiks adlı üyeden alıntı: mesajı görüntüle
    hHocam __DIR__ mevcut dosya konumundan başlatır.
    Bu şekilde kullanmak yerine sitenizin kök dizindede bir sabit oluşturup diğer dosyalarda kullanabilirsiniz.
    config.php
    define('ROOT_DIR', __DIR__);
    alt dosyalardan bu dosyayı manuel çağırırsanız diğer istek yapacağınız dosyalara fix bu değeri kullanabilirsiniz
    include '../config.php';
    include ROOT_DIR . 'inc/system.php';
    include ROOT_DIR . 'theme/index.php';
    gibi:

    Alternatif olarak aşağıda ki şekilde DOCUMENT_ROOT kullanarak kök dizinden ilerleyerek çekebilirsiniz. Bunu bi sabite atama yaparsanız daha rahat kullanım olabilir
    $_SERVER['DOCUMENT_ROOT'] . '/inc/system.php';
    $_SERVER['DOCUMENT_ROOT'] . '/theme/index.php';
    Umarım yorumum sizin için faydalı olmuştur
    Sorun çooook başka bir şeymiş hocam. Yine de farklı bir bakış açısı kazandırdınız bana bu şekilde. Çok teşekkürler