Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Problema unlink.php

  1. #1

    Problema unlink.php

    Ciao a tutti,
    ho un problema con un comando di cancellazione di un symlink che mi tortura. Non riesco assolutamente a rimuovere questo symlink, creato da me!!!
    Vi spiego: il sito in questione è fatto con drupal, ma non credo questo influisca più di tanto. Ciò che influisce, invece, credo sia questo fatto: se digito www.nomesito.com di fatto entro nella cartella /admin, dove appunto ci sono tutti i files .php. In pratica, drupal è installato nella cartella /admin, che di fatto quindi è la root. Ora, i vari symlink che rimandano alle versioni dello stesso sito in lingue diverse non sono però nella cartella /admin, ma in quella di livello superiore e tutto funziona. Se digito en.nomesito.com ho la versione inglese, se metto pt.nomesito.com ho la versione portoghese, ecc. Specifico che per fare questi symlink ho messo il file symlink.php nella cartella /admin, che come già detto fa da root.
    Bene, se metto un file unlink.php nella cartella /admin e voglio fargli cancellare un symlink che è presente nella cartella di livello superiore, non funziona!! Come mai???

    Vi copio qui di seguito l'errore:

    Warning: unlink(): open_basedir restriction in effect. File(/customers/nomesito.com/nomesito.com/httpd.www/it) is not within the allowed path(s): (/customers/nomesito.com/nomesito.com/httpd.www:/customers/nomesito.com/nomesito.com/httpd.private:/customers/nomesito.com/nomesito.com/tmp:/var/www/diagnostics:/usr/share/php) in /customers/nomesito.com/nomesito.com/httpd.www/admin/unlink.php on line 2

    Come mai???
    Nel file unlink.php, che è posto nella cartella /admin, ho messo la seguente riga:
    Codice PHP:
    unlink("/customers/nomesito.com/nomesito.com/httpd.www/it"); 
    In pratica, come avrete capito, voglio eliminare il symlink "it" nella cartella di livello superiore a /admin, che contiene tutti i files di drupal e che fa da root del sito.
    Mi potete aiutare per cortesia????
    Grazie!!!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prova col path relativo

    unlink('../eccetera');

  3. #3
    Originariamente inviato da Alhazred
    Prova col path relativo

    unlink('../eccetera');
    Scusa, non capisco, metto '../customers/nomesito.com/nomesito.com/httpd.www/it'?
    Così mi risulta il messaggio che il file non esiste (il file 'it' suppongo)
    Uff!!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se la cartella in cui si trova lo script con l'unlink è dentro la cartella admin e il file da cancellare subito fuori dalla cartella admin e dentro la cartella pippo

    unlink('../pippo/nomefile');

  5. #5
    Originariamente inviato da Alhazred
    Se la cartella in cui si trova lo script con l'unlink è dentro la cartella admin e il file da cancellare subito fuori dalla cartella admin e dentro la cartella pippo

    unlink('../pippo/nomefile');
    il file con lo script è subito dentro la cartella admin, mentre il file da cancellare è subito fuori la cartella admin e basta; non è dentro alcuna altra cartella...
    Cavoli, non capisco dove sbaglio!

    EDIT: ho fatto una prova: ho creato un nuovo symlink e poi ho provato a rimuoverlo con la stringa che ho messo nel primo post E FUNZIONA!!!
    Come mai cavoli!!! Mi sa che ho fatto casino nella creazione del symlink "it" ed ora è tutto un incrocio di cartelle...
    Per caso, non si riesce a capire dalla stringa di errore cosa ho combinato nella creazione del symlink "it"?
    Grazie!!

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma perché non lo rimuovi manualmente via FTP?
    Non si può fare?

  7. #7
    Originariamente inviato da Alhazred
    Ma perché non lo rimuovi manualmente via FTP?
    Non si può fare?
    Eh no, non si può fare! Non me lo cancella. Nemmeno dal gestore di file dell'host...
    Non so proprio come fare


    CE L'HO FATTA!!!
    Mi sono loggato nell'ft via cmd con windows e ho scritto "delete it"
    Pazzesco!!!

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Hai controllato i diritti di quel file?
    Comunque se non te lo cancella tramite FTP non credo proprio che ci riuscirai con PHP.
    Deve esserci qualcosa che non va.

  9. #9
    Originariamente inviato da Alhazred
    Hai controllato i diritti di quel file?
    Comunque se non te lo cancella tramite FTP non credo proprio che ci riuscirai con PHP.
    Deve esserci qualcosa che non va.
    Leggi il post sopra...
    E' pazzesco: tornare ai metodi rudimentali a volte funziona!

  10. #10
    La riga di comando un metodo rudimentale

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.