Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Include Require non fungono in directory diverse da /

    Ciao a tutti,
    mi sto ammattendo :berto: su un problema con le funzioni include require di php.
    La situazione è questa:
    Server: IIS su aruba.it

    esempio file system:

    miosito.it
    |
    +--dir1
    | +--file1.php
    | + --subdir1
    | +--file1.inc.php
    +--dir2
    +--file2.inc.php

    il file1.php include il file1.inc.php che a sua volta include il file2.inc.php
    (file1.php > file1.inc.php > file2.inc.php)

    se richiamo direttamente una funzione in file2.inc.php da file1.inc.php tutto ok
    se la stessa funzione viene richiamata da file1.php non funge!
    ancora se sposto il file file2.inc.php nella stessa directory di file1.inc.php (subdir1) il tutto funziona ma devo replicare ogni volta file inutilmente.

    forse è un problema di configurazione del server?

    HELP!

  2. #2
    E' capitato anche a me che da server NT non funzioni il comando ../
    per risalire di una cartella...

    Il motivo forse bisgna chiederlo a Bill Gates

  3. #3
    Originariamente inviato da silverwings
    E' capitato anche a me che da server NT non funzioni il comando ../
    per risalire di una cartella...

    Il motivo forse bisgna chiederlo a Bill Gates
    il comando ../ funziona sono gli include da più file in directory diverse che non funziona:

    file1.php
    Codice PHP:
    include("subdir1/file1.inc.php"); 
    file1.inc.php
    Codice PHP:
    include("../../dir2/file2.inc.php"); 
    se invece sposto file2.inc.php nella stessa directory di file1.inc.php (subdir1) tutto funziona!!!


  4. #4
    Aggiungo...
    La versione di PHP installata sul Server è la PHP Version 4.4.1

  5. #5
    up!
    HELP!

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    nextpaco è un problema di ../

    se guardi infatti

    codice:
    include("subdir1/file1.inc.php");
    sta in una sottocartella di quella dove esegui il file php

    invece

    codice:
    include("../../dir2/file2.inc.php");
    significa che "sali" di 2 cartelle "padre" ed entri poi nella sottocartella dir2....

    il file non viene trovato proprio perchè il sistema non riesce a eseguire ../

    prova includendo il tutto prendendo la basedir

    così:

    Codice PHP:
    $base $_SERVER['DOCUMENT_ROOT'];

    include(
    "$base/dir2/file2.inc.php"); 
    se dir2 è subito sottocartella altrimenti


    Codice PHP:
    $base $_SERVER['DOCUMENT_ROOT'];

    include(
    "$base/cartella/cartella/dir2/file2.inc.php"); 

  7. #7
    Originariamente inviato da Seals
    nextpaco è un problema di ../
    ...
    Infatti!
    ho risolto così!

    Codice PHP:
    $base "D:\\Inetpub\\webs\\miositoit";
    require(
    "$base\\dir2\\file2.inc.php"); 
    siccome
    Codice PHP:
    $_SERVER['DOCUMENT_ROOT']; 
    non è stata definita nel file di configurazione del server ne in
    Codice PHP:
    php.ini 
    ho dovuto mettere l'indirizzo della root del file system, spero correttamente !

    Grazie mille Seals!

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    101
    PREGO

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.