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

    [PHP-Config:]Safe mode conflige con PEAR-db....

    Salve a tutti,
    ho appena ricompilato la mia versione locale di php per adattarla alla configurazione del mio hosting web....
    L'operazione è andata a buon fine e, a parte alcuni warnings dovuti al sovrapporsi dell cookie delle sessioni e quello dell'header html(tempestivamente eliminati), tutto sembrava andare liscio. Ma ecco che, appena eseguo lo script che poi va a connettersi col mio db, ecco che mi viene sparato questo mostruoso errore:
    VVoVe:

    Warning: num_rows(): SAFE MODE Restriction in effect. The script whose uid is 1000 is not allowed to access /usr/lib/php/DB.php owned by uid 0 in /var/www/portfolio/class_db.php on line 36

    Warning: num_rows(DB.php): failed to open stream: No such file or directory in /var/www/portfolio/class_db.php on line 36

    Fatal error: num_rows(): Failed opening required 'DB.php' (include_path='.:/usr/lib/php') in /var/www/portfolio/class_db.php on line 36


    Ora non capisco, avevo già usato il PEAR-db sul server del mio host provider e non avevo mai avuto problemi, cosa sono questi uid associati agli script, questi errori sono eliminabili settando diversamente i permessi di esecuzione in /usr/lib/php?(come?), infine ...cosa esattamente viene impedito quando si abilita l'opzione safe-mode?


    Grazie...

  2. #2
    mazza che sfiga, fino ad ora solo 2 visite (probabilemente almeno una la mia..)![scherzo] la prossima volta proverò con un titolo + accattivante, tipo PHP-sex-bondage-fetish-ecc [/scherzo]

  3. #3
    Ciao,
    controlla il proprietario dei file su cui ricevi l'errore.

    Lo script che utilizza la classe e il file che contiene la classe appartengono a utenti diversi.
    Assegna la classe principale (e tutti i file a cui PHP ha accesso) all'utente FTP (o comunque quello che crea i file nella DocumentRoot)con un chown -r.

    I file che hai inserito dopo aver abilitato il safe_mode e quelli già presenti agiscono con uid diversi
    per favore NIENTE PVT TECNICI da sconosciuti

  4. #4
    allora...

    ho appena esguito da root i seguenti comandi
    codice:
    chown andrea /var/www/dir_degli_script/ -R
    chgrp users /var/www/dir_degli_script/ -R
    chmod a+x /var/www/dir_degli_script/ -R
    apachectl restart
    ora, tutti i miei script sono dell'utente andrea con permessi -rwxr-xr-xi....

    Purtroppo però l'errore continua ad essere lo stesso!

  5. #5

    Problema risolto

    Ho provato svariate volte a cambiare l'utente e il gruppo della classe DB.php e dei file inclusi nella cartella pear, ma la cosa non funge. Alla fine ho risolto il problema abilitando l'opzione safe_mode_include_dir=/path/per/PEAR&affini nel php.ini

    Cmq grazie a Fabio Heller, la sua risposta era esauriente, ma io non l'avevo capita bene
    bye
    _And....

  6. #6
    Di nulla

    Sì settare il safe_mode_include_dir è un altro modo di aggirare il problema.

    Però la questione di base resta il fatto che gi script creati prima di attivare il safe_mode agiscono con i permessi dell'utente Apache mentre quelli successivi agiscono con quelli dell'utente che li ha posti nella document_root

    http://freephp.html.it/articoli/view_articolo.asp?id=71
    http://freephp.html.it/articoli/view_articolo.asp?id=72

    La sintassi di chown/chmod/cgrp usata non mi sembra corretta

    -R va prima del path e non alla fine
    per favore NIENTE PVT TECNICI da sconosciuti

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.