mysqli for cms (phpnuke, exoop....)

salve non so se questo sia il posto esatto, comunque vorrei dei chiarimenti.

avendo windows xp pro

ho istallato

PHP 4.3.9

Apache 1.3.33

MySQL 4.1.7

Zend Optimizer 2.5.5

phpMyAdmin 2.6.0-pl2

Perl 5.8.4

x 1 formattazione giakkè ho aggiornato il sistema quindi installando

PHP 5.0.3

Apache 2.0.52

MySQL 4.1.8

Zend Optimizer 2.5.7

phpMyAdmin 2.6.1-rc2

allora per prima cosa non mi funzionava phpmyadmin, ma ho risolto in questo modo:

aperto il file config.inc.php

la riga

$cfg['Servers'][$i]['extension']     = 'mysql';

con

$cfg['Servers'][$i]['extension']     = 'mysqli';

eh in php.ini ho aggiunto la stinga

extension=php_mysqli.dll

eh phpmyadmin ora finziona,

ma non riesco a far girare gli altri cms

a phpnuke nella configurazione ho sostituito

$dbtype = "MySQL";

con

$dbtype = "MySQLI";

ora cerca il collegamento al db ma non lo trova...

mi potete aiutare?

inviato 11 anni fa
Redbull
X 0 X

I problemi che stai riscontrando hanno origine dalla nuova libreria mysqli che permette al PHP di collegarsi a MySQL 4.1 e di sfruttarne le nuove funzionalità. Maggiori dettagli a riguardo li puoi trovare qui.

mysqli però utilizza funzioni diverse rispetto alla vecchia libreria (ad es. mysqli_connect al posto di mysql_connect per effettuare la connessione al database)e quindi i programmi scritti in precedenza non funzionano più.

phpMyAdmin (ovviamente) è corso subito ai ripari e così da la possibilità di specificare la libreria installata così da poter utilizzare le istruzioni compatibili.

Non so invece la situazione degli altri programmi, bisognerebbe cercare informazioni a riguardo sui siti ufficiali per sapere se le ultime versioni si sono adeguate.

Rimane comunque un modo per poter utilizzare programmi "vecchi" con MySQL 4.1. La procedura è spiegata qui. Si tratta in breve di installare la vecchia libreria mysql al posto della nuova mysqli e poi effettuare una "manipolazione" della password.

Spero di aver risposto alla tua domanda.

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

intanto ti ringrazio! :D

ora provo a fare qualcosa, perkè le nuove versioni dei cms ancora vanno con mysql...

ora provo ad installare la vecchia libberia

risposto 11 anni fa
Redbull
X 0 X

ho seguito quello ke è specificato quì http://www.phpnews.it/content/view/67/0/1/6/

ma per aprire mysql monitor ho provato facendo questo:

ho chiamato prompt dei comandi in accessori,

sono entrato nella cartella di mysql e ho chiamato mysql.exe

ma mi da errore, non mi da il messaggio di benvenuto...

l'errore è questo: error 1045 (28000): access denied for user 'odbc'@'localhost' (using password no)

come faccio?

se digito mysql (prrrr)

mi esce un listato con le funzioni attive e cose varie... boh

risposto 11 anni fa
Redbull
X 0 X

 ??? Non mi è chiaro cosa stai cercando di fare...

Quando parli di mysql monitor ti riferisci al client MySQL da riga di comando? Se è questo ciò che cerchi allora devi semplicemente cliccare sul menù start di Windows e tra le applicazioni installate troverai MySQL, un sottomenù MySQL Server 4.1 ed infine il MySQL Command Line client

ma forse ho frainteso il tuo messaggio  :(

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

è giusto, solo ke non trovo quel menù, perkè io l'ho installato con appserv.

cmq ho appena installato il programma mysql amdinistrator, è interessante...

io dovrei inserire questo comando:

set password for 'root'@'localhost' = old_password('testpass');

il command line non riesco non riesco ad aprirlo...

risposto 11 anni fa
Redbull
X 0 X

ho risolto in 1 altro modo, ora funzionano programmi in mysqli e mysql,

eh testati in tutti e 2 i modi

^_^

risposto 11 anni fa
Redbull
X 0 X

ho risolto in 1 altro modo, ora funzionano programmi in mysqli e mysql,

eh testati in tutti e 2 i modi

^_^

però devi fare attenzione ad una cosa: se usi un programma che si collega con le funzioni mysqli e con questo cambi la password di un utente del DB, il problema delle password si ripresenta.

Ad esempio, se configuri phpMyAdmin per usare mysqli, questo tratterà le password degli utenti con la nuova modalità (criptata). Tutti gli altri programmi non riusciranno di nuovo a connettersi perché anche se cambi nella loro configurazione la password, questi la invieranno nel vecchio modo (non criptata)

Bye

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

allora io ho creato 4 utenti per fare la prova con il nuovo sistema, tra questi 4 ci sono 2 ke utilizzano il vekkio, quindi non si connettono al db...

con il programma mysql administrator, sono entrato come root, sono andato nelle impostazioni delle variabili, ho spuntato use old password , ke poi non fa altro ke aggiungerlo in my.ini dopo di questo sono andato sui 2 urtenti ke utilizzano il vekio sistema e gli ho riscritto la password. poi ho tolto nuovamente usa old password.

ora vanno tutti e 4.

se entro con phpmyadmin, posso entrare in tutti e quattro gli utenti senza problemi e credo ke se utilizzo un nuovo cms ke giri in mysqli fuinzioni... ho provato anke a usare i 2 script usati nel sito

e

funzionano entrambi

cmq sempre grazie a voi

tnx

risposto 11 anni fa
Redbull
X 0 X

Aggiornamento:

con le più recenti versioni di PHP (dalla 5.0.3) l'estensione mysql è completamente compatibile con MySQL 4.1 anche se ovviamente non ne può supportare le funzionalità avanzate.

In particolare non è più necessario forzare MySQL all'uso di password nel vecchio stile con la funzione old_password.

Questo significa che gli script PHP che usano l'estensione mysql sono ora pienamente comaptibili con MySQL 4.1

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

"interessevole" ... lo posso aggiornare?

risposto 11 anni fa
Redbull
X 0 X

parli di MySQL, da aggiornare alla 4.1? Si. Non dovrebbero esserci più problemi con le password. Ovviamente devi aggiornare PHP alla versione corrente (5.0.4)

Ieri, a fronte di diverse segnalazioni di alcuni utenti, ho analizza il codice sorgente delle estensioni mysql e mysqli e della libreria libmysql.dll e ho visto che non ci dovrebbero essere più problemi di connessione ed autenticazione (mysql_connect() che non va a buon fine).

Ciao.

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ok mille grazie ^_^   :smitten:

risposto 11 anni fa
Redbull
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda