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 12/06/2022, à 13:10

CookieEater

Problèmes après installation PHP depuis les sources

OK, là j'ai vraiment besoin d'aide lol
J'ai installé la toute dernière version de PHP depuis les sources : https://github.com/php/php-src
Ensuite j'ai suivi les instructions, donc je suis allé dans le dossier et j'ai fait :
(pour la ligne ./configure, j'ai suivi les instructions ici : https://www.php.net/manual/fr/install.unix.apache2.php)

./configure --with-apxs2=/usr/bin/apxs --with-pdo-mysql
make -j4
sudo make install

Ensuite j'ai lancé apache et mysql, contenus dans un alias :

sudo systemctl start apache2 && sudo systemctl start mysql

Et quand je vais sur la page phpmyadmin, voilà les erreurs que j'ai :

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/php-php-gettext/gettext.inc on line 91

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/php-php-gettext/gettext.inc on line 92

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/php-php-gettext/gettext.inc on line 94

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/php-php-gettext/gettext.inc on line 99

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/php-php-gettext/gettext.inc on line 100

Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/php/php-php-gettext/gettext.inc on line 102

Fatal error: Array and string offset access syntax with curly braces is no longer supported in /usr/share/phpmyadmin/libraries/Util.php on line 2087

Avant d'installer cette nouvelle version php, j'avais le php des dépôts officiels d'Ubuntu, que j'ai supprimé avec

sudo apt autoremove php

J'ai dû faire une erreur quelque part ou j'ai loupé un truc ?

Dernière modification par CookieEater (Le 12/06/2022, à 13:11)

Hors ligne

#2 Le 12/06/2022, à 19:00

soshy

Re : Problèmes après installation PHP depuis les sources

Salut,

A priori, tu as installé phpmyadmin, et la version installée est trop vieille. Le code de phpmyadmin n'est pas compatible avec ta nouvelle version de PHP.

Hors ligne

#3 Le 13/06/2022, à 14:07

mazarini

Re : Problèmes après installation PHP depuis les sources

J'ai l'impression qu'il faut la version 5.1 (jammy et kenetic) ou voir 5.2 pour ne pas avoir ce problème.
(https://github.com/phpmyadmin/phpmyadmin/issues/16594).


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#4 Le 13/06/2022, à 17:13

CookieEater

Re : Problèmes après installation PHP depuis les sources

Ok là j'en peux plus....

J'ai réinstallé php7 depuis les dépôts, puis j'ai reconfiguré le paquet php8 comme suit avant de le recompiler et réinstaller :
(à partir d'instructions que j'ai lues ici ou là)

./buildconf
./configure --enable-cli --enable-fpm --enable-intl --enable-mbstring --enable-opcache --enable-sockets --enable-soap --with-curl --with-freetype --with-jpeg --with-mysql-sock --with-mysqli --with-openssl --with-pdo-mysql --with-pgsql --with-xsl --with-zlib --with-apxs2=/usr/bin/apxs2
make -j4
sudo make install
sudo cp php.ini-development /usr/local/lib/php.ini

sudo a2enmod actions fcgid alias
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_fcgi
sudo systemctl restart apache2

J'ai aussi modifié apache2.conf conformément à cette page : https://www.php.net/manual/en/install.unix.apache2.php

LoadModule php_module modules/libphp.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Ce qui se passe, maintenant, c'est qu'on dirait qu'apache ne reconnaît pas php, car quand je lance une page php, ça affiche des trucs bruts et en regardant le code source de la page, ça souligne les balises php en rouge

LoadModule php_module modules/libphp.so
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

Dernière modification par CookieEater (Le 13/06/2022, à 17:20)

Hors ligne

#5 Le 13/06/2022, à 17:41

krodelabestiole

Re : Problèmes après installation PHP depuis les sources

je me pose une question, parce que tu as vraiment pas choisi la manière de faire ordinaire, et que tu te compliques peut-être la vie inutilement...

pourquoi est-ce que tu compiles PHP ? tu as besoin d'une version spécifique ? tu as besoin de quelle version et tu es sur quelle version d'ubuntu ?

Hors ligne

#6 Le 13/06/2022, à 18:21

CookieEater

Re : Problèmes après installation PHP depuis les sources

En fait je voulais installer PHP8 et tant qu'à faire, utiliser la toute dernière version. J'utilise la 18.04
Si vraiment je peux rien faire fonctionner, peut-être que je devrais passer par le ppa ondrej, jamais essayé, je sais pas si ça va être simple.
Mais là normalement je devrais être proche du but

Hors ligne

#7 Le 13/06/2022, à 20:08

krodelabestiole

Re : Problèmes après installation PHP depuis les sources

d'une manière générale je déconseille le ppa d'ondrej, mais je te déconseille aussi de compiler depuis les sources quand ce n'est pas indispensable (à moins d'être sur arch et d'avoir envie d'y passer du temps, évidemment)

si tu veux utiliser une version différente de PHP que celle proposée par ta distro, je te conseille plutôt phpbrew ou docker (docker fait peur mais c'est vraiment trop bien).

sinon tant que la 18.04 est maintenue, les mises à jour de sécurité sont assurées aussi côté PHP. si tes applications web sont compatibles et à jour (c'est pas toujours le cas ceci dit), pas besoin de se prendre la tête...

Hors ligne

#8 Le 13/06/2022, à 20:41

CookieEater

Re : Problèmes après installation PHP depuis les sources

Je voulais utiliser les nouvelles fonctionnalités de la version 8. J'ai vu sur la page du projet que phpbrew installe dans le home, ça ne pose pas de problème pour un serveur sur /var/www ?
Sinon je cherche encore à comprendre ce qui manque avec Apache

Hors ligne

#9 Le 13/06/2022, à 21:18

krodelabestiole

Re : Problèmes après installation PHP depuis les sources

CookieEater a écrit :

ça ne pose pas de problème pour un serveur sur /var/www ?

non, c'est comme tout : question de config des paths et des permissions.


CookieEater a écrit :

Sinon je cherche encore à comprendre ce qui manque avec Apache

visiblement tu veux l'utiliser en FastCGI plutôt qu'en module apache, et PHP n'est pas interprété (fais gaffe à pas mélanger les 2 techniques, là ton lien apache c'est pour le module). déso tout de suite j'ai pas le temps de me pencher davantage sur le problème.

Hors ligne

#10 Le 19/06/2022, à 15:43

CookieEater

Re : Problèmes après installation PHP depuis les sources

Bon, pour l'heure je ne peux pas utiliser phpbrew car il me reste un peu plus de 1go sur cette partition et ça ne peut pas installer une nouvelle version de php par phpbrew.

Le problème, c'est que je n'ai pas compris le lien entre Apache et php : je pensais que je suivais les instructions pour installer php en module, ce qui devrait être le truc par défaut, non ? Pourquoi je l'utiliserais en FastCGI ? Je ne savais même pas ce que c'était, d'ailleurs.

Hors ligne

#11 Le 19/06/2022, à 20:57

CookieEater

Re : Problèmes après installation PHP depuis les sources

Finalement, j'ai fait de la place pour phpbrew et je l'ai laissé installer php 8. Le seul petit problème maintenant c'est que phpmyadmin, lui, a besoin de php 7 lol
Donc j'imagine qu'on doit changer quelque chose dans le fichier /etc/phpmyadmin/apache.conf, mais dans la doc phpmyadmin, je ne trouve rien dessus, et dans la doc apache je me perds un peu. Et pour le moment, rien trouvé sur google qui puisse marcher.

Dernière modification par CookieEater (Le 19/06/2022, à 20:58)

Hors ligne

#12 Le 22/06/2022, à 11:57

CookieEater

Re : Problèmes après installation PHP depuis les sources

Nan mais c'est incroyable, j'y arrive pas ! Je dois pas être le seul à avoir installé php 8 avec phpbrew, mais je trouve rien. Phpmyadmin ne fonctionne juste pas avec php 8 et je ne sais pas comment lui attribuer php 7

Hors ligne

#13 Le 22/06/2022, à 12:52

mazarini

Re : Problèmes après installation PHP depuis les sources

php -S localhost:8000

A lancer dans le répertoire racine de phpmyadmin (remplacer "php" en mettant le chemin et le nom du bon exécutable)
Dans la mesure ou c'est une utilisation occasionnelle de phpmyamin ca doit depanner.


S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)

Hors ligne

#14 Le 22/06/2022, à 16:39

krodelabestiole

Re : Problèmes après installation PHP depuis les sources

CookieEater a écrit :

Le problème, c'est que je n'ai pas compris le lien entre Apache et php : je pensais que je suivais les instructions pour installer php en module, ce qui devrait être le truc par défaut, non ? Pourquoi je l'utiliserais en FastCGI ? Je ne savais même pas ce que c'était, d'ailleurs.

il n'y a pas d'installation "par défaut" le module apache est plus simple à installer (c'est ce qui est documenté sur LAMP), mais des serveurs web comme nginx ou caddy (très chouette nouveau projet de serveur web d'ailleurs) ne proposent pas ce type de module, donc dans ce cas on utilise PHP en FastCGI, c'est d'ailleurs plus performant.

ce qui me fait dire que tu veux installer PHP en FastCGI c'est par ex. :

CookieEater a écrit :
--enable-fpm
sudo a2enmod proxy_fcgi

(fpm = FastCGI Process Manager)

à ce sujet, voir : https://doc.ubuntu-fr.org/php#installation
je te conseille de commencer par consulter ces pages de doc (LAMP, PHP, Apache...)


concernant phpmyadmin :

5.1.2, which fixes some security flaws and contains many bug fixes including better PHP 8.0 and 8.1 compatibility

sur cette page : https://www.phpmyadmin.net/news/
(en fait je te déconseille d'installer des applications web ou autre CMS via APT, elles sont rarement à jour)

je te conseille de jeter un oeil à adminer, par contre je vais modifier cette doc (pour une installation manuelle plutôt que via APT) : https://doc.ubuntu-fr.org/adminer
ça intègre presque toutes les fonctionnalités de phpMyAdmin et c'est un simple fichier PHP à faire interpréter par ton serveur.

Hors ligne

#15 Le 29/06/2022, à 18:47

CookieEater

Re : Problèmes après installation PHP depuis les sources

Alors, j'ai tenté d'installer adminer par apt d'abord, mais je ne peux pas l'ajouter à apache (sudo a2enconf adminer), je n'ai plus le message d'erreur. J'ai donc ensuite opté pour l'installation depuis les sources, et de toute façon, c'est que tu m'as conseillé @krodelabestiole
Mais là aussi, problème, j'ai une série de messages d'erreurs qui me disent par exemple "Missing function store_result in /usr/share/adminer/adminer/drivers/elastic.inc.php"

Alors c'est pas grave, restons sur phpmyadmin, donc je télécharge la dernière version sur le site, et je suis les instructions d'installation, configuration et configuration d'apache sur cette page :
https://www.digitalocean.com/community/ … -debian-10
Mais, même après avoir redémarré apache, j'ai juste une page blanche quand je vais sur localhost/phpmyadmin
Je ne sais pas si ça a un rapport, mais j'ai les messages d'erreur suivants dans la console du navigateur :

Le cookie « phpMyAdmin » a été rejeté car il a déjà expiré.
Le cookie « phpMyAdmin » n’a pas de valeur d’attribut « SameSite » appropriée. Bientôt, les cookies dont l’attribut « SameSite » est manquant ou défini avec une valeur invalide seront traités comme « Lax ». Cela signifie que le cookie ne sera plus envoyé dans des contextes tiers. Si votre application dépend de la disponibilité de ce cookie dans de tels contextes, veuillez lui ajouter l’attribut « SameSite=None ». Pour en savoir plus sur l’attribut « SameSite », consultez https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite
Cette page est en mode de compatibilité (quirks). La mise en page peut en être affectée. Pour le mode standard, utilisez « <!DOCTYPE html> »
GET http://localhost/favicon.ico

Je mets à jour si je trouve une solution entre temps

Peut-être qu'il manque des bibliothèques ? Je verrai ça demain

Dernière modification par CookieEater (Le 29/06/2022, à 18:50)

Hors ligne

#16 Le 01/07/2022, à 10:01

CookieEater

Re : Problèmes après installation PHP depuis les sources

Il doit y avoir un problème d'extension quelque part, car j'ai vu que dans le php.ini, l'extension gd ou mbstring, par exemple, sont commentées.
Pour être sûr de lire le bon php.ini, j'ai entré la commande :

php -r "phpinfo();" | grep php.ini

Ca m'a donc renvoyé : ~/.phpbrew/php/8.1/etc/php.ini
Je précise que j'avais autorisé gd en même temps que l'installation de php :

phpbrew install 8.1.7 as 8.1 +gd +default

J'ai décommenté extension=gd au cas où, toujours une page blanche. J'ai augmenté memory_limit à 800M, toujours pareil.
Pourtant phpmyadmin envoie bien un cookie de session, mais quand je regarde le code source de la page, c'est vide.

Et quand je redémarre apache, voici les logs qui apparaissent dans /var/log/apache2/error.log, mais ça n'a pas l'air d'être un problème :

[Thu Jun 30 23:52:47.161717 2022] [mpm_prefork:notice] [pid 8691] AH00169: caught SIGTERM, shutting down
[Thu Jun 30 23:52:47.467113 2022] [so:warn] [pid 8813] AH01574: module php_module is already loaded, skipping
[Thu Jun 30 23:52:47.511789 2022] [mpm_prefork:notice] [pid 8815] AH00163: Apache/2.4.29 (Ubuntu) mod_fcgid/2.3.9 PHP/8.2.0-dev configured -- resuming normal operations
[Thu Jun 30 23:52:47.511920 2022] [core:notice] [pid 8815] AH00094: Command line: '/usr/sbin/apache2'

Sinon, quand je lance un script test sur localhost en utlisant la fonction imagecreatefrompng() de gd, ça me met :

Fatal error: Uncaught Error: Call to undefined function imagecreatefrompng()

Je ne comprends pas, gd est censé être installé, non ?

J'ai ensuite installé mbstring avec :

phpbrew ext install mbstring

Et pareil avec pdo_mysql, mais là, erreur :

===> Installing pdo_mysql extension...
Log stored at: /home/luc/.phpbrew/build/8.1/ext/pdo_mysql/build.log
Changing directory to /home/luc/.phpbrew/build/8.1/ext/pdo_mysql
===> Phpize...
===> Configuring...
===> Building...
===> Running make all: /usr/bin/make -C '/home/luc/.phpbrew/build/8.1/ext/pdo_mysql' 'all'  >> '/home/luc/.phpbrew/build/8.1/ext/pdo_mysql/build.log' 2>&1
Error: Command failed: /usr/bin/make -C '/home/luc/.phpbrew/build/8.1/ext/pdo_mysql' 'all'  >> '/home/luc/.phpbrew/build/8.1/ext/pdo_mysql/build.log' 2>&1 returns:
The last 5 lines in the log file:
           ^~~~~~~~~~~~~~~~~~~~~~~

compilation terminated.

Makefile:209: recipe for target 'pdo_mysql.lo' failed

make: *** [pdo_mysql.lo] Error 1

make : on quitte le répertoire « /home/luc/.phpbrew/build/8.1/ext/pdo_mysql »

Please checkout the build log file for more details:
	 tail /home/luc/.phpbrew/build/8.1/ext/pdo_mysql/build.log

Hors ligne

#17 Le 01/07/2022, à 10:13

CookieEater

Re : Problèmes après installation PHP depuis les sources

OK il y a un problème, le phpinfo() sur localhost me donne des infos étranges
Il me dit que c'est php 8.2.0-dev, ce que j'avais précédemment installé depuis les sources. Mais ensuite j'ai utilisé phpbrew et j'ai installé avec php 8.1.7
Et quand je lance which php, ça me confirme bien ce fait :

/home/luc/.phpbrew/php/8.1/bin/php

Alors que se passe-t-il ?

Le phpinfo() ignore complètement phpbrew ! Le php.ini est dans /usr/local/lib, etc. Un truc à régler avec apache ?

Hors ligne

#18 Le 01/07/2022, à 10:19

krodelabestiole

Re : Problèmes après installation PHP depuis les sources

rapidement : php exécuté par apache et php en ligne de commande peuvent être 2 instances complètement différentes.

pour le service web tu dois check du côté du module apache.

Dernière modification par krodelabestiole (Le 01/07/2022, à 10:19)

Hors ligne