Alionet - Communauté openSUSE francophone

openSUSE => Programmes et logiciels => Discussion initiée par: Pascal le 10 Février, 2021, 16:05:22

Titre: openSUSE et PHP 8
Publié par: Pascal le 10 Février, 2021, 16:05:22
Bonjour

La version 8 de php est disponible pour Leap et Tumbleweed mais impossible de la faire fonctionner avec Apache.
J'obtiens toujours la mémée erreur avec Apache.
localhost:~ # systemctl status apache2
● apache2.service - The Apache Webserver
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Wed 2021-02-10 15:52:12 CET; 52s ago
    Process: 782 ExecStart=/usr/sbin/start_apache2 -DSYSTEMD -DFOREGROUND -k start (code=exited, status=1/FAILURE)
   Main PID: 782 (code=exited, status=1/FAILURE)
     Status: "Reading configuration..."

Feb 10 15:52:11 localhost systemd[1]: Starting The Apache Webserver...
Feb 10 15:52:12 localhost start_apache2[782]: AH00526: Syntax error on line 24 of /etc/apache2/mod_status.conf:
Feb 10 15:52:12 localhost start_apache2[782]: Unknown Authz provider: local
Feb 10 15:52:12 localhost systemd[1]: apache2.service: Main process exited, code=exited, status=1/FAILURE
Feb 10 15:52:12 localhost systemd[1]: apache2.service: Failed with result 'exit-code'.
Feb 10 15:52:12 localhost systemd[1]: Failed to start The Apache Webserver.

Si quelqu'un a une idée !!!
Titre: Re : openSUSE et PHP 8
Publié par: burn2 le 10 Février, 2021, 16:10:40
Bonjour,

il y a quoi à la ligne 24 dans:
Syntax error on line 24 of /etc/apache2/mod_status.conf:
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 10 Février, 2021, 17:03:19
J'ai un peu bricolé le truc !! Du coup l'erreur est ligne 11 !!
localhost:~ # systemctl status apache2
● apache2.service - The Apache Webserver
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Wed 2021-02-10 16:30:14 CET; 28min ago
   Main PID: 2514 (code=exited, status=1/FAILURE)
     Status: "Reading configuration..."

Feb 10 16:30:14 localhost.localdomain systemd[1]: Starting The Apache Webserver...
Feb 10 16:30:14 localhost.localdomain start_apache2[2514]: AH00526: Syntax error on line 11 of /etc/apache2/mod_status.conf:
Feb 10 16:30:14 localhost.localdomain start_apache2[2514]: Unknown Authz provider: local
Feb 10 16:30:14 localhost.localdomain systemd[1]: apache2.service: Main process exited, code=exited, status=1/FAILURE
Feb 10 16:30:14 localhost.localdomain systemd[1]: apache2.service: Failed with result 'exit-code'.
Feb 10 16:30:14 localhost.localdomain systemd[1]: Failed to start The Apache Webserver.
Et le fichier
#
# Allow server status reports generated by mod_status,
# with the URL of http://servername/server-status
#
# see https://httpd.apache.org/docs/2.4/mod/mod_status.html
#
<IfModule mod_status.c>
<Location /server-status>
SetHandler server-status
<IfModule !mod_access_compat.c>
Require local
</IfModule>
<IfModule mod_access_compat.c>
Order deny,allow
Deny from all
Allow from localhost
</IfModule>
</Location>
</IfModule>
Titre: Re : openSUSE et PHP 8
Publié par: burn2 le 10 Février, 2021, 17:06:30
C'est visiblement :
Feb 10 16:30:14 localhost.localdomain start_apache2[2514]: Unknown Authz provider: local

Donc ça qui ne lui plairait pas " Require local" ?
Titre: Re : openSUSE et PHP 8
Publié par: oh!rocks le 10 Février, 2021, 22:45:26
Salut,

Il semble qu'il y a un bug avec php8.

Perso, je l'ai bloqué et suis repassé sur php7 : mon wordpress ne s'ouvrait plus à cause d'une erreur json.

Voir ce fil (https://www.alionet.org/index.php?topic=800.msg6193#msg6193), réponse n° 5.


à plus,
oh!rocks
Titre: Re : openSUSE et PHP 8
Publié par: chalu le 11 Février, 2021, 13:14:43
Le bug https://bugzilla.opensuse.org/show_bug.cgi?id=1181292
est noté résolu ;)
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 11 Février, 2021, 15:05:11
Mon problème n'est pas un bug avec un logiciel PHP.

Mais un problème d'installation de PHP 8 qui ne veut démarrer alors qu'il est dans les dépôts officiels !!!
 
Titre: Re : openSUSE et PHP 8
Publié par: chalu le 11 Février, 2021, 15:20:06
Tu as cette erreur
AH00526: Syntax error on line 24 of /etc/apache2/mod_status.conf:
Je n'y connais rien mais j'ai trouvé ça sur ton erreur
https://www.digitalocean.com/community/tutorials/apache-configuration-error-ah00526-syntax-error
mais l'erreur n'est pas sur le même fichier.
Ce lien correspond mieux :
https://techexpert.tips/fr/apache-fr/apache-installation-de-mod_status/
Il y a une ip ajouté précisant le réseau.
Tu as utilisé quoi pour configurer apapche ? manuel ou avec yast ?
https://doc.opensuse.org/documentation/leap/reference/html/book-opensuse-reference/cha-apache2.html
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 11 Février, 2021, 17:03:09
J'ai utilisé Yast qui donne l'erreur plus haut.
Et un essai en manuel j'ai pas d'erreur mais les scripts PHP sont pas exécutes.

Chaque essai a été fait dans une machine virtulle toute fraîche.
Titre: Re : openSUSE et PHP 8
Publié par: oh!rocks le 11 Février, 2021, 20:28:53
Hello,

As-tu renseigné ton fichier /etc/hosts (pour mettre en correspondance 127.0.0.1 et localhost) ?

Sinon, mon fichier /etc/apache2/mod_status.conf ressemble à ça :

<IfModule mod_status.c>
    <IfModule mod_lua.c>
        <IfDefine LUA_STATUS>
            AddHandler lua-script .lua
            LuaMapHandler ^/server-status/?$ /usr/share/apache2/lua-server-status/server-status.lua
        </IfDefine>
    </IfModule>
    <IfDefine !LUA_STATUS>
        <IfDefine EXTENDED_STATUS>
            ExtendedStatus on
        </IfDefine>
        <Location /server-status>
            SetHandler server-status
        </Location>
    </IfDefine>
    <Location /server-status>
        <IfModule !mod_access_compat.c>
            Require local
        </IfModule>
        <IfModule mod_access_compat.c>
            Order deny,allow
            Deny from all
            Allow from localhost
         </IfModule>
    </Location>
</IfModule>


à plus,
oh!rocks
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 12 Février, 2021, 15:28:14
Tu utilises quel version de php ??
Titre: Re : openSUSE et PHP 8
Publié par: oh!rocks le 12 Février, 2021, 21:29:18
J'utilise php 7.4.14 puisque j'ai bloqué le passage à la version 8.


à plus,
oh!rocks
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 12 Février, 2021, 23:12:15
PHP 7.4 fonctionne, mais c'est la version 8 que je voudrais faire fonctionner.
Titre: Re : openSUSE et PHP 8
Publié par: oh!rocks le 13 Février, 2021, 18:58:09
Ça ne change pas grand chose puisque à priori c'est une erreur Apache et non PHP.

As-tu essayé de changer Allow from localhost en Allow from 127.0.0.1 ?
As-tu fait correspondre localhost à 127.0.0.1 dans ton /etc/hosts ?


à plus,
oh!rocks
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 13 Février, 2021, 22:06:33
Si ca change puisque ca fonctionne avec php7 mais pas php8. Juste en changeant php et en activant le module php8 dans apache.
Mais dans ce cas plus d'erreur mais les scripts php ne sont plus exécuté.
Par défaut localhost correspond a 127.0.0.1


Titre: Re : openSUSE et PHP 8
Publié par: oh!rocks le 14 Février, 2021, 08:32:41
Dans le détail, tu le fais comment ce changement de PHP ?


à plus,
oh!rocks
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 15 Février, 2021, 19:30:22
J'ai essayé plusieurs trucs.

Avec Yast soit en commençant par installer php7 puis mis a jour vers php8 même résultat apache ne veut pas démarrer.

Sans Yast mais avec la commande Apache a2enmod ca fonctionne pour php7 et pour php8. Apache démarre mais les scripts ne sont pas executés!!!

A noté j'ai essayé sur une Mageia 8RC et aucun problème pour le faire fonctionner.
Je me demande si les paquets php8 sont pas tous moisis.........

Titre: Re : openSUSE et PHP 8
Publié par: oh!rocks le 15 Février, 2021, 21:40:59
Est-ce qu'Apache se lance avec une simple page html ?

Sur certains sites, il y a conflit entre d'anciennes conf php7 non nettoyées et les nouvelles conf php8.

Si tu te sens de repartir de zéro (à ce stade de non fonctionnement, je suppose que tu n'as pas encore fait beaucoup de personnalisation) :

1. désinstalle tout apache et php avec Yast (ne pas oublier de cocher -> 0ptions -> Nettoyer lors de la suppression)
2. installe juste Apache
3. crée un hôte virtuel (n'oublie pas de renseigner le fichier /etc/hosts) et teste un fichier html
4. installe php8 sans les modules : vérifie sur un fichier php
5. si ça tourne, installe les modules un par un et vérifie à chaque fois.

Je sais, c'est lourd. Mais ça permettra peut-être d'y voir plus clair.

Bon courage. :)


à plus,
oh!rocks
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 15 Février, 2021, 21:56:25
Déjà fait mais sans succès !!

Ca fonctionne pour le html mais pas le php au mieux !!
Titre: Re : openSUSE et PHP 8
Publié par: loustic le 25 Février, 2021, 19:49:39
hello Pascal

question simple, pour confirmer que ton message d'erreur initial "classique" porte bien sur "Require local" et que ce n'est pas un effet de bord, car "Require" est un truc bateau de chez bateau : https://httpd.apache.org/docs/2.4/howto/access.html

d'après la doc, ce type de directives est portée par deux modules : "Access control can be done by several different modules. The most important of these are mod_authz_core and mod_authz_host. "

et si ces modules ne sont pas chargés par httpd.conf avant d'en utiliser les directives, alors la partie générique de apache-core va juste dire qu'il n'a jamais entendu parler de ces mots clés bizarres et donc il va s'arrêter direct

peux-tu vérifier que tu as bien des lignes 'LoadModule' correspondantes (et non commentées) si tu suis le jeu des includes dans /etc/apache2/httpd.conf ?  (chez moi ils sont bien présents et non commentés dans /etc/apache2/loadmodule.conf, qui est chargé au début du fichier httpd.conf)

il y a peut-être un effet indirect avec ton paquet php-8, car "le script d'install de php-8 bricole les fichiers de conf apache2", et chez le mainteneur ça marche, mais comme il n'a pas le même conf que toi, alors pas de bol sur ton host ça se passe mal ?

si les modules sont chargés (et donc que les keywords sont connus par apache-core), alors ton erreur est un effet de bord, et la vraie erreur est ailleurs...

je te conseille en premier de lancer 'ldd' sur tous les modules mod_*.so, pour voir si il n'y en aurait pas un à qui il manquerait des dépendances au link, et donc ça serait une erreur indirecte remontée par apache-core en mode panique (en utilisant la directive X du module Y, ca a merdé et donc j'affiche une erreur Z). toujours la même idée : le host de build a tiré une dépendance sur une version de lib plus récente que sur ta machine, mais comme le mainteneur a oublié d'en tenir compte dans les dépendances du paquet, ... alors la mise à jour de la dépendance sur ton host n'a pas été vue quand tu as installé ce paquet php-8 (en clair ton install ne peut pas marcher car les binaires sont "dans le futur" par rapport à ta config)

si la chasse aux binaires ne suffit pas, je te conseille de mettre le httpd.conf original de côté et d'en construire un à toi, linéaire par copier/coller à partir des includes, qui commence par charger tous les modules en bloc, puis qui contient les directives --> quand l'erreur apparaîtra, le numéro de ligne devrait être plus indicatif et te donner la vraie raison du pb

et sinon je n'ai pas d'autre idée....

eric
Titre: Re : openSUSE et PHP 8
Publié par: Pascal le 02 Mars, 2021, 18:13:22
Merci pour la réponse mais franchement je vais pas me refaire toute la configuration d'Apache !!!

As tu réussi a faire fonctionner php 8 sur openSUSE ??