Je suis arrivé à la conclusion que mon installation PHP et mon installation MySQL ne s'entendent pas; Je travaille sur la création de ma première page Web qui utilise MySQL pour le contenu, mais après deux jours, des pages de manuel, de la documentation en ligne et des dizaines de tutoriels, je n'arrive pas à faire fonctionner la partie PHP / MySQL. J'ai un serveur Web domestique établi (je suis le seul administrateur / utilisateur) qui exécute Apache et héberge mes pages Web. J'ai installé MySQL et j'ai pu créer et interroger une base de données via Terminal. J'ai installé PHP et je peux utiliser echo pour imprimer du texte dans le document. Mais quand je travaille avec MySQL, tout change…
J'ai une page qui contient des éléments d'initialisation. contient quelques paragraphes de code HTML codé en dur puis de code PHP pour accéder à MySQL. Lorsque j'ai chargé la page pour la première fois, il n'en est résulté qu'une page vierge. J'ai commenté la section PHP et rechargé pour confirmer que le HTML brut fonctionnait toujours, ce qu'il a fait. Par conséquent, une partie de PHP empêchait le chargement de la page.
Pour commencer à dépanner mon code, j'ai laissé tout le code PHP commenté à l'exception du code suivant pour la connexion au serveur, qui est adapté de plusieurs tutoriels différents:
<?
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>");
?>
Lorsque la page est chargée, le début du HTML se charge en plus d'un paragraphe indiquant «PHP fonctionne», mais ni le message d'échec ni de succès n'apparaissent. J'ai supprimé la structure If du code - afin qu'il ne reste que deux échos et mysql_connect - et j'ai obtenu le même résultat.
Il semble que la fonction mysql_connect oblige le serveur à arrêter le chargement du code lors de son exécution, mais je n'ai pas d'idées sur la façon de le corriger. Pour mémoire: j'ai modifié le fichier php.ini pour inclure la ligne "connection = msql.so", et j'utilise MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. De plus, mon routeur et mon modem ont été configurés pour transmettre le port 3306 au serveur - bien que je ne vois pas comment cela devrait être nécessaire - et mon nom d'utilisateur et mon mot de passe MySQL ont été vérifiés trois fois et sont identiques à ceux que j'utilise avec succès dans le terminal.
Qu'est-ce que je rate?
php5-mysql
?