3 votes

Site Web non connecté à la base de données sur Ubuntu 20.04.6 LTS (Focal Fossa) ?

J'ai récemment acquis un site Web qui fonctionne sous Contao CMS version 3.5.40 que je dois mettre à jour vers la dernière version de Contao. J'utilise Ubuntu 20.04.6 LTS (Focal Fossa) sur VirtualBox 7, PHP 5.6 et MySQL version 5.7.

Tout d'abord, je dois faire fonctionner le site Web normalement en local avant de continuer la mise à jour, mais j'ai rencontré quelques problèmes.

J'ai importé la base de données nécessaire et j'utilise le serveur local. J'ai ajouté mon site Web dans le dossier /var/www ainsi que modifié la configuration dans le dossier /etc/apache2/sites-available pour utiliser le fichier index.php en tant que document root.

Si j'insère du code HTML simple dans le fichier index.php, il s'affiche comme prévu, mais lorsque j'utilise le code original dans index.php, un écran blanc s'affiche. Je suis allé dans le fichier localconfig.php (image ci-dessous) à l'intérieur de mon dossier website-system-config et j'ai modifié les valeurs de dbUser, dbPass, dbDatabase et dbHost pour qu'elles correspondent aux miennes (j'ai trouvé la valeur de dbHost avec la commande select@@hostname dans sql, j'ai également essayé d'utiliser localhost mais cela ne fonctionne pas).

J'ai également vérifié mon fichier /var/log/apache2/error.log qui contenait le texte suivant :

[Wed Oct 25 09:06:38.169398 2023] [mpm_prefork:notice] [pid 862] AH00163: Apache/2.4.41 (Ubuntu) configured -- resuming normal operations
[Wed Oct 25 09:06:38.169486 2023] [core:notice] [pid 862] AH00094: Command line: '/usr/sbin/apache2'
[Wed Oct 25 09:34:34.325199 2023] [mpm_prefork:notice] [pid 862] AH00169: caught SIGTERM, shutting down
[Wed Oct 25 09:34:48.346371 2023] [mpm_prefork:notice] [pid 798] AH00163: Apache/2.4.41 (Ubuntu) configured -- resuming normal operations
[Wed Oct 25 09:34:48.347929 2023] [core:notice] [pid 798] AH00094: Command line: '/usr/sbin/apache2'

Ainsi que :

[Wed Oct 25 10:32:38.119631 2023] [:error] [pid 818] [client 10.0.2.15:46862] PHP Fatal error: Call to undefined function Contao\\Database\\mysql_connect() in var/www/website-archive/sic-22-06-2023/systems/modules/core/library/Contao/Database/Mysql.php on line 47

Est-ce que quelqu'un sait quel est le problème ? Ma supposition est que je ne me connecte pas correctement à ma base de données ? Est-il possible que j'ai besoin d'une version plus ancienne de MySQL (ce qui signifierait que je devrais utiliser un autre système d'exploitation Linux) ?

Voici quelques images pour plus de contexte : https://imgur.com/a/BdfkCq4

Donc, comme indiqué :

  • J'ai vérifié que le serveur prend le bon fichier en tant que document racine.
  • J'ai vérifié que l'utilisateur qui se connecte à la base de données a tous les privilèges.

J'ai également ouvert la base de données SQL dans un éditeur de texte normal et les 8 premières lignes disent :

pypMyAdmin SQL Dump  
version 4.4.15.10  
myadmin.net 

Host: localhost  
Generation Time: Jun 22, 2023 at 10:25 AM  
Server version: 5.5.38  
PHP Version: 5.4.30

ce qui me fait penser que j'utilise peut-être une version trop récente de MySQL mais j'utilise aussi une version plus récente de PHP (cela vient du fait que les propriétaires du site Web m'ont informé de la version de PHP 5.6 mais rien sur la version de MySQL).

2voto

sotirov Points 786

Il semblerait que votre système ne dispose pas de la fonction mysql_connect(). Vous ne l'avez pas mentionné dans votre message mais je suppose que vous avez utilisé le dépôt ppa:ondrej/php pour installer php5.6. Dans ce cas, l'installation du paquet php5.6-mysql devrait résoudre votre problème :

sudo apt install php5.6-mysql

Avertissement : La fonction mysql_connect() est officiellement obsolète depuis PHP 5.5 (publié en juin 2013) et a été entièrement supprimée à partir de PHP 7.0 (publié en décembre 2015). Il est donc fortement recommandé de penser à mettre à jour la version de Contao CMS que vous utilisez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X