Bonjour/Bonsoir à toutes et tous,
nouveau bug sur PWG15, ce coup-ci pour le mode recherche : c'est bien simple rien ne fonctionne, quelque soit le filtre choisi, j'ai ce message qui s'affiche (pas noté avec quel filtre choisi) :
Fatal error: Uncaught Error: Call to undefined function array_key_first() in /home/monsite/galerie/include/functions_search.inc.php:717 Stack trace: #0 /home/monsite/galerie/include/functions_search.inc.php(2016): get_regular_search_results(Array, '') #1 /home/monsite/galerie/include/section_init.inc.php(364): get_search_results('psk-20241031-Tz...', NULL) #2 /home/monsite/galerie/index.php(12): include('/home/monsite/...') #3 {main} thrown in /home/monsite/galerie/include/functions_search.inc.php on line 717
Merci d'avance pour votre éclairage ;-)
Piwigo 15.0.0
Système d'exploitation: Linux
PHP: 7.2.34
MySQL: 8.0.37-29
Bibliothèque graphique: ImageMagick ImageMagick 6.8.9-9
url : https://galerie.gtturborhone-alpes.fr/index.php
Hors ligne
Bonjour atarus,
C'est lié à ta version de PHP, un peu ancienne. Sur nos environnement de développement, on est depuis un moment en PHP 8.x et il se trouve que la fonction array_key_first, que j'ai utilisé pour la première fois dans la version 15, n'est disponible qu'à partir de PHP 7.3, voir https://www.php.net/manual/en/function. … -first.php
Peux tu faire le test suivant ? dans le fichier include/functions_search.inc.php, ligne 717, remplacer :
$items = $image_ids_for_filter[array_key_first($image_ids_for_filter)];
par
$items = $image_ids_for_filter[ array_keys($image_ids_for_filter)[0] ];
et me dire si ça passe mieux ?
Hors ligne
Normalement cette syntaxe (le "array dereferencing") est disponible depuis PHP 5.4, donc je croise les doigts :-)
Piwigo 15 impose PHP 7.1
Hors ligne
plg a écrit:
(en tout cas moi j'ai testé en PHP 8.1 et ça marche)
Salut Plg, merci beaucoup de te pencher sur mon problème. Avant de modifier le code, j'ai juste changé de version de php dans le OVHCONFIG (donc passage de 7.2 à 7.3) et tout marche parfaitement !! merci encore
Hors ligne