Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/05/2024, à 20:42

jefnew

Erreur PHP sur un fichier Grav (résolu)

Bonsoir,  la doc Grav m’a permis il y a trois ans environ de franchir le pas et m’initier lentement à ce cms, j'en remercie au passage l'auteur.

Grav me sert à mettre en forme un projet, mais en prenant mon temps, donc j’en fais de temps à autre quand ça me prends, (voilà pourquoi 3 ans) et donc qu’en localhost.(rien n'est en ligne!)

Tout récemment j’ai installé une nouvelle version d’ubuntu (Mate), vu que j’étais sur la 18.04 jusqu’à lors, et l’autre soir je me suis lancé dans la réinstallation des « outils » pour travailler sur Grav.

-j’ai donc remis libapache2mod-php
-rajouté les modules manquants que Grav affectionne
-créé le fichier de conf avec nano
-glissé un site dans /www (pris dans ceux que j’avais en sauvegarde sur un dd externe)
-attribué les droits
-enfin tout ce qu’il faut (et je l’ai fait tant de fois par le passé, vu que j’ai expérimenté plusieurs type de site Grav, que je ne pense pas avoir oublié un truc)

Je précise que je fais une utilisation particulière de Grav, par exemple je ne passe plus et depuis longtemps par la console d’administration, je ne mets donc pas à jour, et j’utilise Grav avec l’aide d’Atom à côté, et l’inspecteur de firefox.

mon problème :

Le premier test (après installation des "outils") m’a donné un écran problème grav, que je ne sais interpréter, un « empty »,qui aurait une valeur qui ne va pas, si je comprends un peu.
je n'ai jamais eu ce type d'alerte, qui plus est d'une partie du site où je n'ai jamais mis les pieds du tout, voici une capture:
https://zupimages.net/up/24/20/uebr.png
Merci par avance. jef


Modération : merci d'utiliser des images de petite taille (300x300) ou des miniatures pointant sur ces images.

Dernière modification par jefnew (Le 16/05/2024, à 20:11)

Hors ligne

#2 Le 15/05/2024, à 20:58

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

Bonjour , l' alerte que tu as eu , il faudrait nous la donner en entier .

Si j' ai bien compris , ca se situe en fait dans le code PHP que tu montres ?

les versions de PHP ont certainement evolué depuis 3 / 4 ans , il se peut qu ' un code qui passe en version 7 , déclenche une alerte sur une version 8 .
je trouve le

$key[strlen($key) - 1]

, plutot bizzare comme instruction , je ne vois pas trop ce que ca pourrait donner , mais sans avoir la totalité du code , si c' est bien dans le code qu ' il faut trouver la reponse , difficile de dire .

PS  : il vaut mieux mettre le code , entre balise code , plutot que de mettre une image , surtout pour un soucis de code .


EDIT , vu ce qui est indiqué tout en bas de ton image , c' est bien dans la partie que j ' ai indiqué que ca se passe ( enfin je pense ) .

Dernière modification par iznobe (Le 15/05/2024, à 21:01)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#3 Le 15/05/2024, à 21:17

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

Bonsoir Iznobe, c'est délicat de te répondre, en fait avec grav, lorsqu'il y a un truc qui cloche, et bien c'est l'écran que tu as en capture qui s'affiche, avec en coloré ce qui pose le problème.
Par exemple tu bidouilles ton site, modifie ou ajoute un truc, tu vas le visionner en localhost et là apparaît cet écran, donc tu comprends qu'il y a un truc qui va pas, et tu ne peux plus accéder à ton site tant que c'est pas réglé. J'espère t'avoir répondu.

Dernière modification par jefnew (Le 15/05/2024, à 21:18)

Hors ligne

#4 Le 16/05/2024, à 00:28

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

ce qui ne lui plait pas , c' est que la valeur entre crochet de cette partie de code :
$key[strlen($key) - 1] est un chiffre ( type int ) . ce qu ' il veut , c' est un index de tableau , comme dans la partie precedente : $key[0] .
la fonction strlen renvoie un int , il faut donc convertir cette valeur avant dans le code , mais c ' est loin tout ca pour moi ... ca doit faire au moins 10 ans que j' ai pas mis le nez dans le php .

en gros , il faudrait faire ( conversion est une fonction fictive dont je ne connais pas le nom qui va transformer le type ( int ) de valeur de la variable "strlen($key) - 1" en un type de valeur qui lui convient pour un index de tableau , faudrait verifier les types de valeurs que php accepte pour les index de tableau et donc tu trouveras la fonction a utiliser a la place de " conversion " )

nb_char = conversion(strlen($key) - 1) ;

puis remplacer la partie " $key[strlen($key) - 1] " par :

$key[nb_char]

une autre possibilité , serait de directement faire la conversion entre crochet peut etre :

$key[conversion(strlen($key) - 1)]

Dernière modification par iznobe (Le 16/05/2024, à 00:36)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#5 Le 16/05/2024, à 01:15

krodelabestiole

Re : Erreur PHP sur un fichier Grav (résolu)

je pense que c'est un problème de compatibilité entre grav et la version de PHP (qui a largement augmenté depuis la 18.04).

il faudrait sûrement mettre grav à jour.
il y a des commandes selfupgrade (pour le CMS) et update (pour les plugins) : https://learn.getgrav.org/17/basics/updates

Hors ligne

#6 Le 16/05/2024, à 08:13

O_20_100_O

Re : Erreur PHP sur un fichier Grav (résolu)

Bonjour,
Après une mise à jour, ça ira mieux.
Sur mon site GRAV, à jour, ce fichier ne contient pas tout à fait la même chose à ces numéros de ligne.

Mais puisque tu refais ton site sur une nouvelle installation d'Ubuntu, autant refaire aussi une installation de GRAV et de ses plugins et thème utilisés.
Après tu feras un copier coller des répertoires des pages que tu veux reprendre de ta sauvegarde.

Hors ligne

#7 Le 16/05/2024, à 08:50

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

Bonjour et merci pour vos avis, que je rejoins (la nuit porte conseil!!); je me suis précipité pour une demande d'aide, mais l'histoire de ce "empty" sonnait tellement faux.
Même si je ne suis qu'amateur informatique ce ne pouvait être qu'un problème de compatibilité, je vais faire des essais multiples, et reviendrait si besoin lorsque j'aurai une réelle demande d'aide, je vous remercie encore. jef

Hors ligne

#8 Le 16/05/2024, à 09:24

bruno

Re : Erreur PHP sur un fichier Grav (résolu)

+1 pour la mise à jour, surtout qu'il est très probable que d'autres bouts de code posent problème avec les versions récentes de PHP.

P.S. : je ne sais pas comment ce code a pu fonctionner puisque $key est censée être une clé (index ou indice) d'un tableau et ne peut donc pas être elle même un tableau…

#9 Le 16/05/2024, à 10:24

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

Oui, la maj sera un passage obligé.

Sinon je reviens plus tôt que prévu ici car désireux de faire des tests, je suis empêché et si cette sous classe du forum n'est pas adaptée je m'en excuse, voici:
je rencontre un problème de droit (rien à voir avec grav), et ne sais si c'est en rapport avec l'install de Mate récente pour laquelle j'ai demandé de l'aide.
-voulant tester au propre une install grav depuis le début, j'ai téléchargé le grav classique histoire de.
-et quand j'ai voulu vider l'archive dans le dossier préparé ds /www, cela m'a été refusé, faute de droit, je suis passé par un clic droit et j'ai choisi en root je crois, voir capture, là je me suis tiré d'affaire.
https://zupimages.net/up/24/20/728x.png
-par contre lorsque j'ai voulu regarder les journaux idem et là je ne sais comment faire, il y a quelque chose qui cloche, et je pressens que ça va m'embêter pour pas mal de choses à l'avenir.
https://zupimages.net/up/24/20/0nsc.png

--
Modération bis : merci d'utiliser des images de petite taille (300x300) ou des miniatures pointant sur ces images.

Dernière modification par bruno (Le 16/05/2024, à 13:01)

Hors ligne

#10 Le 16/05/2024, à 10:31

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

-et quand j'ai voulu vider l'archive dans le dossier préparé ds /www, cela m'a été refusé, faute de droit, je suis passé par un clic droit et j'ai choisi en root je crois, voir capture, là je me suis tiré d'affaire.

Bonjour , non pas vraiment ... au contraire meme !
si tu as lancé en root l ' explorateur de fichiers , tu as probablement cassé les permissions de ta config utilisateur ainsi que rempli la corbeille de " root " , qui devient alors invidable " à la main .

Montre :

history 20

Dernière modification par iznobe (Le 16/05/2024, à 10:32)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#11 Le 16/05/2024, à 10:32

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

Je suis bien conscient que ce n'était  pas le bon endroit pour poster, et je rajoute ceci pour plus de compréhension:
j'étais sur le point de faire mon premier test grav, et la console m'a renvoyé un truc sur apache, voici pour quoi l'histoire des journaux.
je joins la capture même s'il elle ne concerne pas mon problème de droit ci dessus, qui vient d'autre part, j'espère être clair, quand mon problème de droit sera réglé je pourrais mieux appréhender mon problème apache, merci pour votre compréhension.

jef@jeef-P35-DS3:/home/jef$ sudo chown $USER:www-data /var/www/test1 -R
[sudo] Mot de passe de jef : 
jef@jeef-P35-DS3:/home/jef$ sudo chmod -rwx,u+rwX,g+rwX /var/www/test1 -R
jef@jeef-P35-DS3:/home/jef$ sudo systemctl start apache2
jef@jeef-P35-DS3:/home/jef$ sudo nano /etc/apache2/sites-available/test1.conf
jef@jeef-P35-DS3:/home/jef$ sudo a2ensite test1
Enabling site test1.
To activate the new configuration, you need to run:
  systemctl reload apache2
jef@jeef-P35-DS3:/home/jef$ sudo systemctl reload apache2
Job for apache2.service failed.
See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.
jef@jeef-P35-DS3:/home/jef$ systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Thu 2024-05-16 09:52:49 CEST; 7min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 753 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUC>
    Process: 2568 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=>
   Main PID: 894 (apache2)
lines 1-7...skipping...
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2024-05-16 09:52:49 CEST; 7min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 753 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
    Process: 2568 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=1/FAILURE)
   Main PID: 894 (apache2)
      Tasks: 6 (limit: 4536)
     Memory: 21.6M
        CPU: 230ms
     CGroup: /system.slice/apache2.service
             ├─894 /usr/sbin/apache2 -k start
             ├─917 /usr/sbin/apache2 -k start
             ├─918 /usr/sbin/apache2 -k start
             ├─919 /usr/sbin/apache2 -k start
             ├─920 /usr/sbin/apache2 -k start
             └─921 /usr/sbin/apache2 -k start

Warning: some journal files were not opened due to insufficient permissions.
~

Dernière modification par jefnew (Le 16/05/2024, à 10:41)

Hors ligne

#12 Le 16/05/2024, à 10:35

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

Bonjour Iznobe, voici:

jef@jeef-P35-DS3:/home/jef$ history 20
  194  sudo apt autoremove --purge atom-beta -y
  195  sudo apt install /home/jef/snap/firefox/common/atom-amd64.deb
  196  sudo dpkg -i /home/jef/snap/firefox/common/atom-amd64.deb
  197  atom
  198  dpkg -l | grep "atom"
  199  snap list
  200  ls -l /var/crash
  201  sudo apt clean && sudo apt update
  202  sudo apt full-upgrade
  203  atom
  204  find /etc/apt -type f -regex ".*\(list\|sources\).*" -exec bash -c 'echo -e "\n\t$1\n" ; [ "${1##*.}" = "list" -o "${1##*.}" = "sources" ] && cat "$1"' _ '{}' \;
  205  cd /etc/apt/sources.list.d && sudo rm -v atom.list ; cd
  206  sudo apt clean && sudo apt update
  207  apt list --upgradable
  208  apt list --installed
  209  atom
  210  sudo apt install gthumb
  211  sudo systemctl start apache2
  212  sudo systemctl stop apache2
  213  history 20
jef@jeef-P35-DS3:/home/jef$ 

Hors ligne

#13 Le 16/05/2024, à 10:46

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

Afin de mieux expliquer ce qui m'arrive, j'étais en train de faire la procédure en console pour tester une install propre d'un site grav, jusqu'au moment où j'ai eu ça:

To activate the new configuration, you need to run:
  systemctl reload apache2
jef@jeef-P35-DS3:/home/jef$ sudo systemctl reload apache2
Job for apache2.service failed.
See "systemctl status apache2.service" and "journalctl -xeu apache2.service" for details.

(les trois premières lignes sont tout à fait normales et habituelles, elles font parti du protocole)
j'ai compris qu'un truc n'allait pas du côté d'apache, et j'ai voulu aller voir les journaux,voilà.

Dernière modification par jefnew (Le 16/05/2024, à 10:47)

Hors ligne

#14 Le 16/05/2024, à 10:55

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

comment as tu lancé le navigateur de fichiers en mode root ?

montre :

sudo ls -l /root/share/.local/Trash

Dernière modification par iznobe (Le 16/05/2024, à 10:56)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#15 Le 16/05/2024, à 10:57

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

jef@jeef-P35-DS3:/home/jef$ sudo ls -l /root/share/.local/Trash
[sudo] Mot de passe de jef : 
ls: impossible d'accéder à '/root/share/.local/Trash': Aucun fichier ou dossier de ce nom
jef@jeef-P35-DS3:/home/jef$ 

je ne sais plus précisément, j'ai fait clic droit et ai choisi quelque chose en "root", je pourrai tenter de recommencer l'opération pour pouvoir te préciser, mais je suis pas sûr que ce soit ce qu'il faut faire vu ta réaction.

Dernière modification par jefnew (Le 16/05/2024, à 11:01)

Hors ligne

#16 Le 16/05/2024, à 10:58

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

m ' a trompé roll
c' est

sudo ls -l /root/.local/share/Trash

retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#17 Le 16/05/2024, à 11:02

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

jef@jeef-P35-DS3:/home/jef$ sudo ls -l /root/.local/share/Trash
ls: impossible d'accéder à '/root/.local/share/Trash': Aucun fichier ou dossier de ce nom
jef@jeef-P35-DS3:/home/jef$ 

Si, une précision, j'étais déjà ds le navigateur de fichier et c'est parce que l'opération de transférer l'archive (le contenu du dossier grav) m'était refusée, que j'ai cherché uns solution par le clic droit, si ça peut t'aider.

Dernière modification par jefnew (Le 16/05/2024, à 11:05)

Hors ligne

#18 Le 16/05/2024, à 11:04

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

bon ba , ca me parait bizzare que tu es lanccé en root le navigateur de fichiers et qu ' il n' y ait rien dans la corbeille root .

Mais tu n' as pas repondu à :

comment as tu lancé le navigateur de fichiers en mode root ?

Dernière modification par iznobe (Le 16/05/2024, à 11:09)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#19 Le 16/05/2024, à 11:06

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

tu veux que je tente de recommencer? je m'arrêterai au bon moment, et comme ça je pourrai te dire.
tu as vu l'ajout au #17

Dernière modification par jefnew (Le 16/05/2024, à 11:07)

Hors ligne

#20 Le 16/05/2024, à 11:08

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

Non inutile .

Autre chose , il faut que tu changes ton repertoire de telechargement par defaut dans firefox , qui est dans snap actuellement .
ca ne va pas cette histoire . c' est surement a cause de ca que tu n' as pas les droits .

tu cliques sur les 3 traits a droite dans firefox puis " parametres " , dans la recherche tu tapes " télé "
puis tu modifies en cliquant sur parcourir pour mettre " Téléchargements " . celui dans ton repertoire perso .

Dernière modification par iznobe (Le 16/05/2024, à 11:10)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#21 Le 16/05/2024, à 11:09

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

c'est réglé et ça tombe bien car c'était une question que j'avais à poser!!

Hors ligne

#22 Le 16/05/2024, à 11:11

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

En synthèse, tu ne vois rien de malsain que l'action d'avoir utilisé root, ai provoqué? donc il demeure cette histoire de droit.
je vais supprimer ce dossier de site /test1 ds /www et recommencer la procédure depuis le début, je te tiens au courant ensuite.

Dernière modification par jefnew (Le 16/05/2024, à 11:13)

Hors ligne

#23 Le 16/05/2024, à 11:13

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

et bien un soucis de moins wink .

Pour visionner les logs systemes , tu peux par exemple faire :

less /var/log/syslog

tu peux descendre dans la liste avec les fleches , et quand tu veux quitter tu appuies sur " q " .

Dernière modification par iznobe (Le 16/05/2024, à 11:14)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#24 Le 16/05/2024, à 11:17

jefnew

Re : Erreur PHP sur un fichier Grav (résolu)

jef@jeef-P35-DS3:/home/jef$ less /var/log/syslog
/var/log/syslog: Permission non accordée
jef@jeef-P35-DS3:/home/jef$ 

Une question tout de même, puis je fermer la console qui se termine par
"lines 19/1/19 end", sans risques?

Hors ligne

#25 Le 16/05/2024, à 11:17

iznobe

Re : Erreur PHP sur un fichier Grav (résolu)

tu appuies sur " q " , comme indiqué dans mon message précédent .


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne