Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344

    System e mysqldump: errore 127

    Ciao,

    ho una pagina che effettua un dump del database con questo comando:

    Codice PHP:
    $db_utente 'utente';
    $db_password 'password';
    $db_host 'localhost';
    $db_name 'nome_db';
    $nome_completo '/mnt/usb';

    system("/usr/bin/mysqldump --opt --user=$db_utente --password='$db_password' --host=$db_host $db_name | gzip > $nome_completo"$ris_backup);    // Linux compresso 
    Dove /mnt/usb è un disco esterno con poteri anche in scrittura (777). Il bello è che se lancio questo comando da shell funziona correttamente ed esegue il dump, mentre se lo eseguo dalla pagina PHP $ris_backup mi restituisce come errore il 127.

    Qualche suggerimento?

    Premetto che su altri server utilizzo la stessa pagina per il backup e funziona correttamente.

    Grazie
    ciao

  2. #2
    di solito è dovuto al fatto che l'utente con cui viene eseguito lo script non hai i permessi per eseguirlo...

    prova a eseguire la chiamata usando lo stesso utente unix che usi dalla shell
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Potrebbe essere che il problema sia dovuto in qualche modo al fatto che il dominio in questo caso è un Virtual Host e forse l'utente non ha accesso ad /usr/bin tramite il web?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    scusa non avevo visto la tua risposta. sì credo che il problema sia proprio quello. ma in effetti l'utente che ho utilizzato è lo stesso da shelle e web.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    è possibile, nel caso si 'system', specificare con quale utente andare ad eseguire il comando?

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    1,344
    Ferma tutto! Ho capito...

    Il problema era che su quel dominio era attivo il safe_mode che come si vede da qui

    http://php.html.it/articoli/leggi/85...ioni-sicure/2/

    'Qualsiasi chiamata di sistema (vedi exec(), system(), passtru()) può riguardare esclusivamente gli eseguibili inseriti nella "safe_mode_exec_dir" indicata.'

    Al momento non ho guardato come si configura la 'safe_mode_exec_dir' che potrebbe essere interessante (anzi se qualcuno vuole dare una dritta ben venga...), ma ho semplicemente disabilitato il safe_mode e tutto funziona correttamente.

    Grazie
    ciao

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.