PHP base de données inaccessible

Bonjour,

Je débute, ou plus exactement je voudrais débuter avec PHP MySQL, en travaillant donc en local, mais… impossible d’accéder depuis PHP à une base de données !

Dans un premier temps, je ne parvenais même pas à accéder à localhost. Au 1er samedi du mois de Parinux, on a résolu ce problème. Tout en mettant à jour mon installation MariaDB, et remplaçant phpmyadmin par DBeaver.

Mais avec DBeaver, je ne vois pas comment recréer une base de données, qui pourrait me servir d’apprentissage .

Adminer, alors ? Je l’installe (avec Synaptic), mais ensuite, impossible d’y accéder « The requested URL was not found on this server ». Je tente les installations que je trouve sur Internet, mais en vain.

Revenir à PhpMyAdmin ? « The requested URL was not found on this server ». Je réinstalle PhpMyAdmin (avec Synaptic), et cette fois à la connexion cela me dit : PHP 7.2.5+ is required. Alors que j’ai du PHP 8.2 !

Ça continue à faire du n’importe quoi !

Cela fait des jours et des jours que j’accumule les tentatives et les échecs, ne parviens pas en local à écrire une page PHP basique, qui parviendrait à se connecter à une base de données basique, pour y effectuer une requête basique, et afficher une réponse ultra-basique, ne serait-ce qu’un mot !

Qui pourrait me délivrer ?

Bonjour Crispierret,

Quel est ton environnement de travail ? Si ce n’est pas déjà le cas et dans la mesure du possible, je t’invite à travailler dans une machine virtuelle. J’utilise pour cela Virtualbox.

Il y a un moment que je n’ai pas touché MySQL mais je peux installer Apache, Php et MariaDB (un fork de MySQL) dans une VM (Macine Virtuelle) dans les prochains jours. Je n’utilise pas PhpMyAdmin, tout du moins tant qu’un minimum n’est pas fonctionnel. J’installe l’ensemble des applications à partir du shell et à l’aide de l’outil apt.

Avant de se pencher sur PhpMyAdmin, il est nécessaire de s’assurer que la commande phpinfo() placée dans une page web php retourne bien le numéro de version de Php souhaité. Si ce n’est pas le cas, alors c’est le serveur Web qui ne trouve pas la bonne version et sa configuration nécessite d’être redéfinie.

Bonjour vbreton,
Je n’ai jamais utilisé de machine virtuelle, ai donc une vision naïve et approximative de la chose. Que ça va ajouter un niveau d’abstraction supplémentaire, déjà que maintenant je ne comprends pas tout ! Et puis mon but serait (si enfin j’arrive à m’en sortir) d’avoir un outil de recherche qui fonctionne dans le monde réel, que je pourrai partager, une page qui soit utilisable depuis un autre poste que le mien… J’ai donc installé tout ça, de jolis éléments que je ne sais pas faire communiquer entre eux !

re-bonjour,
Passé le désarroi, j’ai recommencé depuis le début :
apt install php apache2 mariadb-server mariadb-client phpmyadmin openssl
et peux à nouveau ouvrir mes pages php avec le navigateur.
Par contre http://localhost/phpMyAdmin n’aboutit pas. La commande ci-dessus ne doit pas suffire. Cherchons.

Pour ma part, je rejoins @vbreton, une machine virtuelle reste la bonne idée.
D’une part, tu ne mets la le bazar sur ta machine en installant des logiciels qui ne correspondent pas à la production (ta machine n’a pas pour but d’être un serveur web) et, d’autre part, ça te permet d’avoir un peu de connaissance sur les machines virtuelles et la gestion d’un serveur web.

Tout mon problème est d’arriver à connecter PHP à une base de données. Que ce soit au travail pendant mes moments libres (W10, XAMPP), ou chez moi (Debian testing, apt install), dans les deux configurations, les différents procédés que j’ai trouvé et essayé d’appliquer aboutissent à un échec. « Not Found - The requested URL was not found on this server. »

Ce qui complique les choses, c’est que les différentes tentatives laissent des traces. Sur mon poste Debian, même après ré-installation, http://localhost/phpmyadmin/ ne répond pas, je n’arrive pas à ouvrir phpmyadmin, et donc à créer une base de données.

Bref, si l’on me guide, j’accepte toutes les méthodes, virtuelles ou non, pourvu que je parvienne enfin depuis PHP à interroger une base de données !

Bonjour,
La page https://raspberry-pi.fr/installer-serveur-web-raspberry-lamp/ détaille parfaitement ce qui’il faut faire pour installer un serveur complet sur un Raspberry Pi.
Raspbian, qui est l’OS des Pi n’est jamais qu’un Debian simplifié.
Ce qui est indiqué là est donc tout à fait valable pour un Debian complet, en particulier d’activer l’extension mysqli par l’instruction « sudo phpenmod mysqli », et de vérifier le dossier d’installation de phpmyadmin.

Merci, je m’y essaye dès ce soir.

un a2enconf phpmyadmin.conf pourrait suffire

sinon, suivre

sauf pour phpmyadmin ( l’installer avec apt comme tu as fait )

MAIS
quand tu demandes de l’aide après une instalaltion qui ne marche donc pas, donnes nous les commandes que tu as faites, ainsi on verra tout de suite ton erreur

déjà tu dois atteindre apache avec http://127.0.0.1

Bonjour,
J’ai beaucoup progressé. Réinstallation complète en suivant les indications de https://raspberry-pi.fr/installer-serveur-web-raspberry-lamp/, transmise par Norbert29. Création d’une mini-base de données Lettres avec une table alphabet (id, titre, texte), et deux pages PHP, une de requête, et une de traitement. Ça marche presque ! D’habitude « Not Found - The requested URL was not found on this server. », et cette fois, une page blanche : la connexion a probablement eu lieu, mais mes commandes sont trop approximatives.
Voici :

Action
<body>
  <?php	
  // je me connecte à la base
  $connexion = mysql_connect('localhost', 'root', 'Qlpz06ab') OR die('Erreur de connexion');
  mysql_select_db('lettres') OR die('Erreur de sélection de la base'); 

  // j'effectue la requête
  $requete = mysql_query('SELECT texte FROM alphabet WHERE titre="lettre"') OR die('Erreur de la requête');
  mysql_close();
  ?>
  <?php
  <p>
  // j'affiche la réponse
  echo "$_POST['lettre'];, $requete";
  </p>
  ?>

Voilà où j’en suis (la copie du ne s’affiche pas, mais c’est sans importance). C’est mieux, mais ne fonctionne pas encore !

salut
mysql n’existe plus :

PHP: Introduction - Manual
Cette extension est obsolète depuis PHP 5.5.0 et a été supprimée depuis PHP 7.0.0. À la place, soit l’extension mysqli ou PDO_MySQL devrait être utilisée. Voir aussi la vue d’ensemble de l’API MySQL pour plus d’aide dans le choix d’une API MySQL.

Bonsoir,
J’utilise sous Debian un fixe et un portable. Pour le premier, le problème de connexion est résolu, avec PDO. La requête SQL ne donne pas le résultat que j’attends, je dois encore apprendre, mais ça fonctionne.
Pour le second, même configuration, et même démarche, mais impossibilité d’ouvrir PHPMyAdmin :

PHP 7.2.5+ is required
Currently installed version is: '. PHP-VERSION . ’

et tout un tas de baratin, stupide puisque en réalité c’est du PHP 8.2.5, comme sur le fixe. Je l’ai réinstallé 10 fois, vidé le cache, mais… la réponse est toujours la même… Difficile de garder patience !

php 8.2.5 n’est disponible que pour bookworm (testing).
• Comment as-tu installé 10 fois php 8.2 ?

• Que dit ceci:

apt policy php

Bonjour,
Mes postes sont effectivement en testing, après, le dix fois est une image pour signifier plusieurs réinstallations successives. Il est vrai qu’à ce moment-là ce n’est peut-être pas la version testing qui est réinstallée, mais… si, je viens de regarder sur Synaptic : 8.2.5. Et ça marche sur le fixe.
Voici ce qu’en dit sur les deux appareils apt policy php ;

php:
Installé : 2:8.2+93
Candidat : 2:8.2+93
Table de version :
*** 2:8.2+93 500
500 http://deb.debian.org/debian testing/main amd64 Packages
100 /var/lib/dpkg/status

À mon avis, cette question de version n’est pas la vraie cause…

les sury ne sont plus vraiment utiles aujourd’hui sauf cas vraiment particulier et ke me demande bien lesquels d’ailleurs. Ils conduisent souvent à une frankendebian, ou à sa naissance en tout cas.

Je me disais que si ça marche sur le fixe, ce ne devrait pas être ça le problème sur le portable. Faudrait-il tout de même y repasser à PHP 7.4 ?
Comment d’ailleurs, je ne vois que le 8.2 proposé sur Synaptic.

Si tu as toujours les repositories Sury dans ton apt sources.list alors Synaptics te le proposera.

Dans un terminal, fais (en mode root ou sudo):
apt purge phpmyadmin
apt install phpmyadmin

et retour de
apt list phpmyadmin php

Je n’utilise pas, en tout cas de façon délibérée, les dépôts Sury. Je suis simplement testing dans sources.list et effectue une mise à jour mensuelle.
Voici le résultat après purge et install de phpmyadmin :

root@pM:~# apt list phpmyadmin php
En train de lister... Fait
php/testing,now 2:8.2+93 all [installé]
phpmyadmin/testing,now 4:5.2.1+dfsg-1 all [installé]

Mais dans les deux cas j’ai eu des messages d’erreur, dont ceci en fin d’install :

dpkg: erreur de traitement du paquet phpmyadmin (--configure) :
le sous-processus paquet phpmyadmin script post-installation installé a renvoyé
un état de sortie d'erreur 10
Des erreurs ont été rencontrées pendant l'exécution :
phpmyadmin
E: Sub-process /usr/bin/dpkg returned an error code (1)

Bonjour @chrispierret ,
Voici quelques informations complémentaires susceptibles de t’aider.

Dans le cas de difficultés importantes, la règle essentielle est d’isoler le problème. Il ne faut pas se faire peur avec le terme « virtuel » des machines virtuelles. Cette couche abstraite ne l’est que partiellement et dans ton cas présent elle devrait être transparente au moins jusqu’à l’isolation du problème, à son identification et à sa résolution.
Si ton BIOS autorise l’émulation alors ce sera facile et rapide à mettre en oeuvre avec par exemple Virtualbox.

  1. S’assurer que l’option d’émulation est bien activée (par défaut, elle est souvent (toujours ?) inactive)
  2. Installer VirtualBox
  3. Télécharger un iso Debian
  4. Créer une machine virtuelle à l’aide de l’interface de VirtualBox et connue sous le nom d’hyperviseur par les professionnelles. Quelques Go de RAM et une trentaine de Go pour le disque virtuel conviendront parfaitement.
  5. L’installation de Debian se fera alors aisément et libre à toi d’installer progressivement les paquets dont tu as besoin. Au pire, tu refais un nouvelle machine virtuelle.

PS: il est fort probable que 20Go d’espace disque soit largement suffisant pour Debian, Php et MySQL, j’ai cependant choisi 30 Go avec la Debian 11. Pour la RAM, on peut toujours facilement ajuster sa taille dans un sens ou dans l’autre une fois la machine virtuelle mise en place.