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

    installare le librerie aggiornate di mysql su php 4

    salve a tutti... sto cercando di installare le librerire giuste per mysql visto che sulla mia versione 4.3.10 non supporta versioni di mysql 5...

    ho provato a mettere la libreria di mysqli solo che visto che l'ho presa da un installazione di php 5 su php 4 non si caricava normalmente...

    mi aiutate?

  2. #2
    però continui a trovare sul forum di mysql che è possibile utilizzare i vecchi client di mysql su server mysql 5 utilizzando semplicemente il metodo di OLD_PASSWORD... secondo voi è sicuro?

  3. #3

    Re: installare le librerie aggiornate di mysql su php 4

    Originariamente inviato da xnavigator
    salve a tutti... sto cercando di installare le librerire giuste per mysql visto che sulla mia versione 4.3.10 non supporta versioni di mysql 5...

    ho provato a mettere la libreria di mysqli solo che visto che l'ho presa da un installazione di php 5 su php 4 non si caricava normalmente...

    mi aiutate?
    precisiamo:

    con il php 4 trovavi tutto di default in php_mysql.dll / mysqli.dll ed era installato (con il php 4.x) il client mysql 3.xx

    A partire da php5 la libreria mysql per il client si trova nel file libmysql.dll ed e' quindi separata dall'integrazione delle funzioni mysql in php. La versione corretta di questo file e' quella che trovi associata alla specifica versione di mysql nella cartella /bin (di mysql 4.1/5). Quella che si trova in php5 e' una libreria (parliamo di libmysql.dll) relativa alla versione del momento (del rilascio del php) ma siccome i rilasci di php5 e mysql seguono momenti autonomi, e' facilmente possibile che la libreria a disposizione nel php5 non sia aggiornata alla versione di mysql installata.

    Ora tornando a php4, siccome usa una libreria obsoleta rispetto alla versione 5 di mysql e' necessario utilizzare, per inserire la password in mysql 5, la funzione old_password() che crypta a 16 byte invece della nuova password() che crypta a 40 byte.

    in questo modo se usi php4 avrai su mysql 4.1/5 la password a 16 byte, se invece usi php5 sara' a 40 byte. Siccome poi non e' che si facciano variazioni continue alla tabella mysql.user e' sufficiente tenerlo ben presente nel momento della configurazione delle password su mysql. dove hai php4 userai old_password('pippo') e dove usi php5 userai password('pippo') che solitamente e' una azione che puoi fare con phpmyadmin.

    Ho detto in modo ridondante.... forse viene piu' chiaramente chiaro...

    Salvo errori od omissioni ....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4

    Re: Re: installare le librerie aggiornate di mysql su php 4

    Originariamente inviato da piero.mac


    in questo modo se usi php4 avrai su mysql 4.1/5 la password a 16 byte, se invece usi php5 sara' a 40 byte.

    con questa frase mi metti in crisi..

    se io utilizzo il metodo OLD_PASSWORD la password sarà salvata a 16byte e quindi sia php 5 sul server sia php4 sul mio pc dovrebbero utilizzare questa password a 16byte?

    ti trovi?

  5. #5

    Re: Re: Re: installare le librerie aggiornate di mysql su php 4

    Originariamente inviato da xnavigator
    con questa frase mi metti in crisi..

    se io utilizzo il metodo OLD_PASSWORD la password sarà salvata a 16byte e quindi sia php 5 sul server sia php4 sul mio pc dovrebbero utilizzare questa password a 16byte?

    ti trovi?
    Se vuoi usare la stessa pwd per tutte le versioni di php e mysql ti devi per forza di cose allineare verso il basso..... puoi sempre mettere in my.ini la stringa che costringe mysql 5 ad usare sempre e comunque la password a 16 byte. mysql 4.0 lo fa da se.

    nella sezione [mysqld] ci scrivi

    old_passwords

    e restarti mysql. userai la pwd come sempre a 16 byte anche su mysql 5. Ma non capisco queste complicazioni.... butta php4, e fatti una installazione "da uomo" .....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6

    Re: Re: Re: Re: installare le librerie aggiornate di mysql su php 4

    Originariamente inviato da piero.mac
    Se vuoi usare la stessa pwd per tutte le versioni di php e mysql ti devi per forza di cose allineare verso il basso..... puoi sempre mettere in my.ini la stringa che costringe mysql 5 ad usare sempre e comunque la password a 16 byte. mysql 4.0 lo fa da se.

    nella sezione [mysqld] ci scrivi

    old_passwords

    e restarti mysql. userai la pwd come sempre a 16 byte anche su mysql 5. Ma non capisco queste complicazioni.... butta php4, e fatti una installazione "da uomo" .....
    allora piero io ho bisogno solo di un utente sul server che sia compatibile con php4, purtroppo non posso fare altrimenti perchè come ti ho scritto nell'altro post utilizzo un compilatore che da uno script in php mi crea l'exe e me lo crea utilizzando php4

    io vorrei semplicemente sapere se converto una password utilizzando old_password se questa rimane funzionale anche sul server che utilizza la versione normale php&mysql5

  7. #7
    vabene alla fine l'ho fatto. ho creato un nuovo user con il privilegio select su una tabella (quella che mi serve) e ho fatto l'update con l'old_password


    ora funziona sia php4 e php5 finalmetne e che ci voleva..

  8. #8

    Re: Re: Re: Re: Re: installare le librerie aggiornate di mysql su php 4

    Originariamente inviato da xnavigator
    allora piero io ho bisogno solo di un utente sul server che sia compatibile con php4, purtroppo non posso fare altrimenti perchè come ti ho scritto nell'altro post utilizzo un compilatore che da uno script in php mi crea l'exe e me lo crea utilizzando php4

    io vorrei semplicemente sapere se converto una password utilizzando old_password se questa rimane funzionale anche sul server che utilizza la versione normale php&mysql5
    su mysql 5 tu puoi assegnare il tipo di password che vuoi all'utente che ti pare.

    Quindi se utente pippo1 con pwd pippa su php 4 andra' configurato su mysql.user con:

    insert into mysql.user (o update...)
    (host, user, password)
    values
    ('localhost', 'pippo1', old_password('pippa')

    ed avrai la pwd a 16 digit

    Se invece devi configurare uno user su php 5 farai:

    ('localhost', 'pippo1', password('pippa')

    e questa pwd sara' a 40 digit.

    Non c'e nessuna incongruenza perche' di fatto non viene controllata la pwd come se fosse un tuo account ma in un modo ben differente. Vediamo se riesco a spiegarti brevemente la mimica tra client e server per l'autenticazione dello user:

    il client invia una richiesta di autenticazione
    il server risponde con una stringa random in scramble_buff
    il client crypta il valore ricevuto usando la password digitata dallo user
    il client spedisce la stringa criptata al server
    il server cripta la stringa random originale inviata al server in scramble_buff usando il valore che trova nella tabella mysql.user

    Se i valori sono identici la password e' corretta.

    Ora e' facile intendere che se usi php4 il client mysql usa la funzione password('pippa') che genera una stringa di 16 digit che usa per criptare la stringa random ricevuta dal server.

    Se invece usi php5 la funzione password('pippa') genera una stringa da 40 digit ed i risultati saranno assolutamente diversi.

    Quello che conta e' che tu metta la corretta lunghezza della stringa criptata nella password del tuo user. Lo puoi fare con old_password('pippa') se l'utente arriva da php4 e/o con password('pippa') se arriva da php5.

    Devi solo utilizzare due user diversi.....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    no piero a me non sembra cosi...

    come ho scritto prima ho creato un user sul server che è mysql5 e che utilizza la pwd a 40byte
    poi ho fatto il comando old_password, ora la passowrd è stata settata con 16byte

    ho provato a connettermi e ad eseguire una query.

    funziona sia con php4, sia con php5. Quando prima php4 faceva l'errore che ho postato prima..

    non c'è bisogno di creare 2 user se si ha l'esigenza di utilizzare sia php4 sia il 5

    Quindi se utente pippo1 con pwd pippa su php 4 andra' configurato su mysql.user con:[...]
    Se invece devi configurare uno user su php 5 farai:

  10. #10
    Originariamente inviato da xnavigator
    non c'è bisogno di creare 2 user se si ha l'esigenza di utilizzare sia php4 sia il 5
    Non hai capito o mi sono spiegato male.

    Se hanno messo la pwd criptata a 40 digit non lo hanno fatto per giocare o per complicare la vita agli utenti, ma per ragioni di sicurezza. Ti ho suggerito di fare un user per il php4 a 16 digit ed altro/altri per il php5 a 40. Non ti ho detto che ne devi fare due perche' altrimenti non funziona. Semplicemente quando "dovrai" abbandonare il php4 avrai gia' gli user del php5 correttamente impostati come previsto.

    Poi ovviamente fai come ti viene meglio. Ma non vedo quale sia il problema a creare degli user con le pwd ad hoc .....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.