php7 mysql
Le
Pierre Meurisse

Bonjour Í tous,
j'essaie désespérément de me connecter Í une base mysql
en utilisant php7 sur un serveur apache.
Je tente des lignes du genre :
$conn = mysqli_connect("localhost","pier","","adrpier");
ou
$conn = new connect($servername, $username, $password);
et j'obtiens invariablement des erreurs du genre :
Call to undefined function mysqli_connect()
Call to undefined function mysql_connect()
Call to undefined function mysql()
Call to undefined function connect()
Call to undefined function mysqli()
Pourtant les fonctions ci-dessus sont référencées dans diverses docs.
J'utilise une debian buster Í jour
avec comme paquets installés :
pier@debianpb~% aptitude search php7 |grep "^i"
i A libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module)
i A libapache2-mod-php7.3 - langage de script inclus dans du HTML et exécuté cÍ´té serveur – module Apache 2
i php7.0 - server-side, HTML-embedded scripting language (metapackage)
i A php7.0-cli - command-line interpreter for the PHP scripting language
i A php7.0-common - documentation, examples and common module for PHP
i A php7.0-json - JSON module for PHP
i A php7.0-opcache - Zend OpCache module for PHP
i A php7.0-readline - readline module for PHP
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i A php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
i A php7.3-json - module JSON pour PHP
i A php7.3-mysql - module MySQL pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i A php7.3-readline - module readline pour PHP
i A php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP
pier@debianpb~% aptitude search mariadb |grep "^i"
i A libmariadb3 - bibliothèque du client de base de données MariaDB
i A mariadb-client-10.3 - exécutables client pour la base de données MariaDB
i A mariadb-client-core-10.3 - exécutables centraux du client de base de données MariaDB
i A mariadb-common - métapaquet commun pour MariaDB
i mariadb-server - MariaDB database server (metapackage depending on the latest version)
i A mariadb-server-10.3 - exécutables du serveur de base de données MariaDB
i A mariadb-server-core-10.3 - fichiers centraux du serveur de base de données MariaDB
i php-mariadb-mysql-kbs - Knowledge base about MariaDB and MySQL server variables
Je ne sais plus quoi chercher
--
Pierre Meurisse
Merci de noter que ma nouvelle adresse est : pierre.meurisse59@free.fr
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.
j'essaie désespérément de me connecter Í une base mysql
en utilisant php7 sur un serveur apache.
Je tente des lignes du genre :
$conn = mysqli_connect("localhost","pier","","adrpier");
ou
$conn = new connect($servername, $username, $password);
et j'obtiens invariablement des erreurs du genre :
Call to undefined function mysqli_connect()
Call to undefined function mysql_connect()
Call to undefined function mysql()
Call to undefined function connect()
Call to undefined function mysqli()
Pourtant les fonctions ci-dessus sont référencées dans diverses docs.
J'utilise une debian buster Í jour
avec comme paquets installés :
pier@debianpb~% aptitude search php7 |grep "^i"
i A libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module)
i A libapache2-mod-php7.3 - langage de script inclus dans du HTML et exécuté cÍ´té serveur – module Apache 2
i php7.0 - server-side, HTML-embedded scripting language (metapackage)
i A php7.0-cli - command-line interpreter for the PHP scripting language
i A php7.0-common - documentation, examples and common module for PHP
i A php7.0-json - JSON module for PHP
i A php7.0-opcache - Zend OpCache module for PHP
i A php7.0-readline - readline module for PHP
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i A php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
i A php7.3-json - module JSON pour PHP
i A php7.3-mysql - module MySQL pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i A php7.3-readline - module readline pour PHP
i A php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP
pier@debianpb~% aptitude search mariadb |grep "^i"
i A libmariadb3 - bibliothèque du client de base de données MariaDB
i A mariadb-client-10.3 - exécutables client pour la base de données MariaDB
i A mariadb-client-core-10.3 - exécutables centraux du client de base de données MariaDB
i A mariadb-common - métapaquet commun pour MariaDB
i mariadb-server - MariaDB database server (metapackage depending on the latest version)
i A mariadb-server-10.3 - exécutables du serveur de base de données MariaDB
i A mariadb-server-core-10.3 - fichiers centraux du serveur de base de données MariaDB
i php-mariadb-mysql-kbs - Knowledge base about MariaDB and MySQL server variables
Je ne sais plus quoi chercher
--
Pierre Meurisse
Merci de noter que ma nouvelle adresse est : pierre.meurisse59@free.fr
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.
MySQL n'est pas installé pour PHP 7.0.
MySQL est installé pour PHP 7.3.
Je pense que ton serveur web est configuré pour lancé PHP 7.0 qui n'a
pas le support de MySQL.
--
=============================================| FRÉDÉRIC MASSOT |
| http://www.juliana-multimedia.com |
| mailto: |
| +33.(0)2.97.54.77.94 +33.(0)6.67.19.95.69 |
==========================Þbian=GNU/Linux==
Quelle est l'erreur générée en recopiant cet exemple Í l'identique :
https://www.php.net/manual/fr/function.mysqli-connect.php#125914
Parce que les lignes du genre précitées ne peuvent pas fonctionner,
quoi qu'il arrive. La syntaxe n'est pas correcte.
Au plaisir de vous lire,
Ph. Gras
Merci pour vos réponses.
Voici la ligne d'erreur obtenue :
[Sat Apr 03 02:11:02.324464 2021] [:error] [pid 1136] [client 192.168.0.118:58398] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /homesuppl/www_html/apache/php/tutos/debian-uf.php:7nStack trace:n#0 {main}n thrown in /homesuppl/www_html/apache/php/tutos/debian-uf.php on line 7, referer: http://debianpb/apache/php/tutos/
Et sur chromium :
This page isn’t working
debianpb is currently unable to handle this request.
HTTP ERROR 500
--
Pierre Meurisse
Merci de noter que ma nouvelle adresse est :
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.
Le samedi 03 avril 2021, Pierre Meurisse a écrit...
Et si tu crées un script php dans lequel tu mets uniquement phpinfo();
(et que tu appelles cette page), ça donne quoi, dans la section mysqli ?
Regarde également tout en haut, dans ce qui concerne php, si la version
donnée est bien celle Í laquelle tu t'attends.
--
jm
Je deviens chèvre ...
Effectivement j'obtenais avec phpinfo() : PHP Version 7.0.33-0+deb9u3
J'ai donc purgé tous les php7.0.
C'était le php7.0 metapacakge qui avait appelé tous les 7.3
Maintenant il n'existe plus et je ne trouve pas de php7 metapackage.
J'ai redémarré les services mariadb, php7, apache2
A cette étape, le navigateur n'affiche que la source du .php
reboot
Même chose.
Du coup j'ai purgé tous les php7...
reboot - réinstallation (je sais, ça fait beaucoup de reboot)
aptitude search php7 |grep "^i"
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i php7.3-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
i A php7.3-json - module JSON pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i A php7.3-readline - module readline pour PHP
i php7.3-xml - module DOM, SimpleXML, WDDX, XML et XSL pour PHP
C'est toujours la même chose, le navigateur n'affiche que les
sources.
Je ne sais plus ... faire un rapport de bug ?
Je n'en ai pas trouvé pour php7.
En tous cas merci pour votre soutien.
--
Pierre Meurisse
Merci de noter que ma nouvelle adresse est :
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.
Pour que le serveur Web reconnaisse et travaille avec PHP, il lui faut quelque chose,
une passerelle PHP-FPM ou en l'occurrence pour Apache, un module PHP.
Installation avec PHP-FPM :
https://www.justegeek.fr/installer-php-7-0-apache2-debian-8/
Activation du module PHP :
https://askubuntu.com/questions/1148129/how-do-i-enable-php-7-3-in-apache2#answer-1148139
Bonne pioche, dans le respect des gestes barrière !
Ph. Gras
Le samedi 03 avril 2021, Pierre Meurisse a écrit...
Il te manque php7.3-mysql
Il te manque libapache2-mod-php7.3
--
jm
Mes dernières préoccupations étaient de faire fonctionner php.
mysql viendrait plus tard.
J'ai bien ajouté libapache2-mod-php7.3 mais ça n'a pas suffi.
J'ai ajouté php-remctl et lÍ le php fonctionnait.
Je suis passé au php-mysql en ajoutant php7.3-mysql
J'ai comparé avec une installation qui fonctionne sur mon raspberry-pi
J'ai supprimé php7.3-xml et php7.3-fpm
Ca ne trouvait toujours pas les mysqli, me disait
sudo tail -f -n 30 /var/log/apache2/error.log
:-(
Du coup j'ai rebooté et ... ça marche.
En résumé ma configuration qui fonctionne :
~% aptitude search php |grep "^i"
i libapache2-mod-php - langage de script inclus dans du HTML et exécuté cÍ´té serveur (module Apache 2 — version par défaut)
i libapache2-mod-php7.3 - langage de script inclus dans du HTML et exécuté cÍ´té serveur – module Apache 2
i php-common - fichiers communs pour les paquets PHP
i php-mysql - MySQL module for PHP [default]
i php-remctl - PECL module for Kerberos-authenticated command execution
i A php7.3-cli - command-line interpreter for the PHP scripting language
i A php7.3-common - documentation, exemples et module commun pour PHP
i A php7.3-json - module JSON pour PHP
i php7.3-mysql - module MySQL pour PHP
i A php7.3-opcache - module Zend OpCache pour PHP
i php7.3-phpdbg - langage de script embarqué dans du HTML, cÍ´té serveur —Â exécutable PHPDBG
i A php7.3-readline - module readline pour PHP
Je ne suis pas sͻr qu'il n'y a pas des paquets inutiles.
Merci pour toutes vos réponses, je ne crois pas que j'y serais arrivé
tout seul.
--
Pierre Meurisse
Merci de noter que ma nouvelle adresse est :
Je continue provisoirement de recevoir les courriers envoyés
aux adresses précédentes.