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

    Problemino con le estensioni, non va mysql

    Dunque, la situazione è particolare.

    Ho messo PHP su IIS (bestemmie a non finire, ma alla fine funziona).

    Ho installato mysql e funziona (ci lavoro da dos senza problemi, quindi va).

    Php installato: 5.

    Quindi le extension si trovano in C:\php\ext (ho scompattato il tutto in quella cartella).

    Ho aggiunto nella configurazione di windows PATH=C:\PHP

    In php.ini ho impostato extension_dir = "c:\php\ext"

    Poi ho decommentato queste due righe:

    extension=php_mysql.dll
    extension=php_mysqli.dll

    Ho anche provato a scaricare i file aggiornati dal sito di mysql (php_mysql.dll, libmysql.dll)

    Quindi ho aggiunto (visto che ora c'è anche libmysql.dll) la riga:

    extension=libmysql.dll

    Ogni volta che applico un cambiamento in php.ini o altre cose digito net stop iisadmin per arrestare tutto e quando sono sicuro che è morto del tutto digito net start w3svc.


    Ecco, nonostante tutte ste operazioni quando provo ad eseguire il comando mysql_connect o mysql_pconnect mi da questo errore:

    Fatal error: Call to undefined function mysql_connect()

    Cercando sul web è un tipico errore di mala configurazione del php.ini, ma francamente la configurazione che ho fatto sembra regolare, manca qualcosa?

    Grazie

  2. #2
    Cmq il problema risiede per forza nell'IIS, perché il modulo PHP funziona benissimo.

    Vi spiego, ecco la pagina di prova

    Codice PHP:
    <html>
    <head>
    <title>Prove db</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <?php
    $conn
    =mysql_pconnect("dante","root","******");
    echo(
    $conn);
    mysql_close($conn);
    ?>
    </body>
    </html>
    Se tale pagina la testo dal browser mi scapoccia con l'errore che non riconosce mysql_pconnect().

    Se apro il prompt del dos e la test con il comando >php pagina.php funziona benissimo, si collega e fa quello che chiedo.

    Da cosa può dipendere?

  3. #3
    Ho provato anche a copiare i file php_mysql.dll e php_mysqli.dll dentro a c:\windows, c:\windows\system e c:\windows\system32 (non si sa mai), ho riavviato il pc ma niente...

  4. #4
    Originariamente inviato da Debiru
    Ho provato anche a copiare i file php_mysql.dll e php_mysqli.dll dentro a c:\windows, c:\windows\system e c:\windows\system32 (non si sa mai), ho riavviato il pc ma niente...
    devi copiare il file libmysql.dll nelle librerie dll in windows\system32, oppure mettere il percorso nelle variabili di sistema alla libreria mysql\bin\libmysql.dll .

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

  5. #5
    Niente di niente, non funziona neanche così e ho pure riavviato per sicurezza dopo la copia... domani in ufficio provo col mio pc là, se da lo stesso problema allora è IIS che c'ha le fisime, altrimenti è il mio pc

    Vabbhè, buona notte

  6. #6
    E infatti neanche in ufficio funziona.

    Quindi in sostanza il problema è questo:

    Il modulo PHP vede le sue impostazioni all'interno del file PHP.INI e ne carica le estensioni.

    Eseguendo uno script di prova che utilizza il mysql_connect() direttamente da linea di comando:

    >php c:\inetpub\wwwroot\test\provedb.php

    Esegue il tutto e non dà errori.

    Eseguendo lo stesso script da browser

    http://loaclhost/test/provedb.php

    Mi dà errore: Fatal error: Call to undefined function mysql_connect() in c:\Inetpub\wwwroot\test\provedb.php on line 3

    Quindi in sostanza l'IIS non si caga il PHP.INI e non carica quindi le estensioni.

    Ora provo a vedere se trovo tramite google qualcuno con il mio stesso problema, a me di installare per forza anche l'apache sul computer, quando sono convinto di poter fare tutto con IIS non mi va proprio.

    Se utilizzassi sono PHP sarebbe un conto, ma utilizzando sia ASP che PHP ne viene che Apache non va bene per ASP e a sto punto IIS non va bene per PHP....

  7. #7
    Ho vinto....

    Allora, questo è sempre per colpa dell'incoerenza e delle funzionalità inaspettate dei programmi microsoft.

    Se io installo APACHE lui è saggio e sa che PHP.INI se lo deve andare a prendere dentro la ovvia cartella C:\PHP (e ho anche modo di dirglielo tramite i file di configurazione)

    IIS non è saggio e pretende che PHP.INI si trovi dentro C:\WINDOWS (C:\WINNT se usate 2000/NT).

    Quindi basta copiare (non spostare che sennò sbrocca php) il file PHP.INI dentro C:\WINDOWS, riavviare IIS e il gioco è fatto.

    Unico inconveniente, ricordarsi che qualsiasi modifica si faccia a php.ini tocca farla su tutti e due, quindi ripetere il copia incolla ogni volta...

    What a ball scusate

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.