Sono giunto alla conclusione che la mia installazione di PHP e la mia installazione di MySQL non vanno d'accordo; Sto lavorando per creare la mia prima pagina Web che utilizza MySQL per i contenuti, ma dopo due giorni, pagine man, documentazione online e dozzine di tutorial, non riesco proprio a far funzionare la parte PHP / MySQL. Ho un server Web domestico stabilito (sono l'unico amministratore / utente) che esegue Apache e ospita le mie pagine Web. Ho installato MySQL ed è stato in grado di creare e interrogare un database tramite Terminal. Ho installato PHP e posso usare l'eco per stampare testo sul documento. Quando lavoro con MySQL, tuttavia, tutto cambia ...
Ho una pagina che contiene materiale di inizializzazione in. contiene alcuni paragrafi di HTML hardcoded e quindi codice PHP per accedere a MySQL. Quando ho caricato la pagina per la prima volta, tutto ciò che è risultato è stata una pagina vuota. Ho commentato la sezione PHP e ricaricato per confermare che il semplice HTML funzionava ancora, cosa che ha fatto. Pertanto, alcune parti di PHP impedivano il caricamento di qualsiasi pagina.
Per iniziare la risoluzione dei problemi del mio codice, ho lasciato tutto il codice PHP commentato ad eccezione del seguente codice per la connessione al server, che è adattato da diversi tutorial:
<?
echo("<p>PHP is working</p>");
$ses = mysql_connect("localhost","username","password");
if(!$ses){
echo("<p>Connection to content server failed.</p>");
exit();
}
echo("<p>Database Connected</p>");
?>
Quando la pagina viene caricata, viene caricato l'HTML iniziale oltre a un paragrafo che legge "PHP funziona", ma non viene visualizzato il messaggio di errore o di successo. Ho rimosso la struttura If dal codice, in modo che rimanessero solo due echos e mysql_connect, e ho ottenuto lo stesso risultato.
Sembra che la funzione mysql_connect stia causando l'interruzione del caricamento del codice da parte del server quando viene eseguito, ma non ho idea di come risolverlo. Per la cronaca: ho modificato il file php.ini per includere la riga “connection = msql.so” e sto usando MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. Inoltre, sia il mio router che il mio modem sono stati configurati per inoltrare la porta 3306 al server - anche se non vedo come dovrebbe essere necessario - e il mio nome utente e password MySQL sono stati controllati tre volte e sono identici a quelli che uso con successo nel terminal.
Cosa mi sto perdendo?
php5-mysql
?