PDA

View Full Version : php & mysql


fifth
22-11-2006, 09:24
Ciao a tutti. Ho installato il web server Apache 2.2.3 su Windows, insieme a php 5.2.0 e mysql 5. Tutta la configurazione del web server e di php va a buon fine, nessun errore. Il problema sorge in seguito all'installazione di phpMyAdmin per gestire i db con php: decommento l'estensione mysqli.dll in php.ini, nella mia DocumentRoot c:\www inserisco la cartella di phpMyAdmin nella quale è presente il file config.default.php rinominato in config.inc.php. Digitando poi nel browser localhost://phpMyAdmin invece di visualizzare la pagina web di controllo di phpMyAdmin vedo un bel messaggio di errore:

phpMyAdmin - Errore

Impossibile caricare l'estensione mysql,<br />prego controllare la configurazione di PHP

Dove sbaglio?
Grazie

andbin
22-11-2006, 09:32
Impossibile caricare l'estensione mysql,<br />prego controllare la configurazione di PHPVai nel file php.ini (il file di configurazione del PHP) e localizza le seguenti righe:
;extension=php_mysql.dll
;extension=php_mysqli.dllQuasi sicuramente hanno il ; davanti (cioè "commentate"). Togli il ; e riavvia il server.

fifth
22-11-2006, 14:20
avevo già provato a farlo purtroppo..... Non riesco proprio a capire dov'è l'errore... la cartella phpMyAdmin è giusto metterla nella DocumentRoot no? altrimenti digitando localhost/phpMyAdmin non la troverà mai

andbin
22-11-2006, 14:37
avevo già provato a farlo purtroppo..... Non riesco proprio a capire dov'è l'errore... la cartella phpMyAdmin è giusto metterla nella DocumentRoot no? altrimenti digitando localhost/phpMyAdmin non la troverà maiCi sono altre cose da verificare:
- Nella directory del PHP c'è una directory 'ext'. Lì dentro ovviamente ci devono essere le dll php_mysql.dll e php_mysqli.dll.
- Nel file php.ini bisogna impostare correttamente la direttiva 'extension_dir'. La linea c'è già ma va messo il path corretto e completo della 'ext' vista al punto precedente:
extension_dir = " ... path della ext ..."

fifth
22-11-2006, 15:52
nel file php.ini ho inserito

extension=C:/PHP/ext/php_mysql.dll
extension=C:/PHP/ext/php_mysqli.dll

nella sezione Dynamic Extensions

... ma niente ...


la riga extension_dir è già C:/php/ext

friends
22-11-2006, 16:01
ciao riavvia il pc dopo ke ha modificato il file "php.ini",sai quanto giorni ho passato per risolvere questo banalissimo problema!!

fifth
22-11-2006, 16:14
niente da fare purtroppo... non riesco a capire... phpMyAdmin a parte, non c'è un modo per poter eseguire un'applicazione php che esegue operazioni su un db senza usare questo tool?

andbin
22-11-2006, 16:15
extension=C:/PHP/ext/php_mysql.dll
extension=C:/PHP/ext/php_mysqli.dllNon serve (e non ci vuole) il path completo! Guarda come sono tutte le altre.

la riga extension_dir è già C:/php/extSu Windows i separatori di directory devono essere quelli di Windows, quindi C:\...

Correggi e riavvia il server web.

EDIT: scrivi un piccolo file php, es. info.php con dentro:
<?php phpinfo(); ?>

mettilo ad esempio nella root del sito e poi apri col browser http://localhost/info.php e verifica che l'estensione del MySQL sia caricata!

fifth
22-11-2006, 16:27
ho tolto il percorso assoluto, ho riavviato il web server e adesso la pagina di phpMyAdmin si mostra così:


Benvenuto in phpMyAdmin 2.9.1

La ragione di questo è che probabilmente non hai creato alcun file di configurazione. Potresti voler usare setup script per crearne uno.
Errore

Messaggio di MySQL: Documentazione
#1045 - Access denied for user 'root'@'localhost' (using password: NO)

nel file info.php l'estensione di MySQL dove dovrebbe trovarsi? nella prima tabella?

:help:

fifth
22-11-2006, 16:29
Ho trovato questa tabella nel info.php:

mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.22

Dovrebbe essere ok per l'estensione no?

andbin
22-11-2006, 16:32
mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.22Vuol dire che l'estensione del MySQL è caricata. ;)

Per quanto riguarda phpMyAdmin, non ti so dire nulla, non lo conosco.

fifth
22-11-2006, 16:32
ok, grazie mille lo stesso ;)

fifth
22-11-2006, 16:46
Ho notato che è lo stesso errore che si ha quando da prompt dei comandi digito

mysql -u root

al posto di

mtsql -u root -p


....

fifth
22-11-2006, 17:06
Come temevo: mi sono creato un file php:

define("DB_USER", "utente");
define("DB_NAME", "aw");
define("DB_PASSWORD", "pwd");
defin("DB_HOST", "localhost");

$dbconn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("can't connect to db server");
mysql_select_db(DB_NAME) or die("can't open db");

- premetto che sia l'utente "utente" che il db "aw" esistono -

provo ad aprirlo e mi ritorna:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'utente'@'localhost' (using password: YES) in C:\www\prove\DATABASE\db.php on line 7
can't connect to db server

qualcuno sa dirmi perchè?

fifth
22-11-2006, 17:14
trovato l'inghippo :) c'era un errore nelle politiche di grant agli utenti :)