Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : General

Fedora 27: Changements dans httpd et php

Remi Collet

La configuration du serveur HTTP Apache et de PHP a été modifiée dans Fedora 27, voici quelques explications.

1. Bascule du serveur HTTP en mode event

Depuis l'origine de la distribution, le serveur utilise le MPM prefork.

Pour des raisons évidentes de performance, il a été décidé de suivre les recommandations du projet et d'utiliser event par défaut. Ce changement est aussi nécessaire pour bénéficier du support complet du protocole HTTP/2 via mod_http2.

2. Le problème de mod_php

Le module mod_php est uniquement supporté quand le MPM prefork est utilisé.

Dans la documentation PHP on peut lire :

Avertissement : Nous ne recommandons pas l'utilisation de PHP dans un environnement threadé MPM, avec Apache 2.

Et effectivement, quelques rapports de bugs signalent des plantages dans cette configuration.

Il n'était donc pas raisonnable de conservé mod_php par défaut.

De plus ce module a d'autres limitations ennuyeuses :

  • intégré au serveur web, il partage son espace mémoire, pouvant entrainer des problèmes de sécurité
  • une seule version peut être chargée

3. Utilisation de FastCGI

Depuis plusieurs années nous avons travaillé à rendre l'exécution de PHP aussi flexible que possible, dans différentes configurations, fonctionnant sans changement de configuration :

  • httpd + mod_php
  • httpd + php-fpm (lorsque mod_php est désactivé ou absent et que le serveur php-fpm fonctionne)
  • nginx + php-fpm

L'utilisation de FPM est devenu la configuration par défaut recommandée pour une exécution propre de PHP :

  • support de multiples serveurs web (apache httpd, nginx, lighttpd)
  • isolation du frontal pour la sécurité
  • dorsaux multiples
  • architecture micro-services
  • fonctionnement en container (docker)
  • multiples versions de PHP

4. FPM par défaut

Depuis Fedora 27, mod_php ZTS (multi-thread) est toujours fournit, mais n'est plus activé, c'est donc FastCGI qui sera utilisé par défaut.

Pour ne pas casser les configurations existantes lors de la mise à jour, ou obtenir un serveur opérationnel dès l'installation, nous avons choisi de mettre en place quelques solutions, probablement de manière temporaire

  • Le paquet php a une dépendance optionnelle sur php-fpm qui permet son installation par défaut
  • le service httpd a une dépendance sur le service php-fpm qui permet son démarrage automatique

5. Problèmes connus

5.1. Modification de la configuration

Lors d'une modification de la configuration, ou de l'installation d'une nouvelle extension il est désormais nécessaire de redémarrer le service php-fpm.

5.2. Fichiers de configuration

Avec mod_php, il est habituel d'utiliser les directives php_value ou php_flag dans la configuration du serveur Apache ou dans un fichier .htaccess.

Il est désormais nécessaire soit d'utiliser les directives php_value ou php_flag dans la configuration de du pool FPM, soit d'utiliser un fichier .user.ini dans le dossier de l'application.

6. Revenir sur mod_php

Si vraiment vous souhaitez rester (temporairement) sur mod_php, cela reste possible :

  • Revenir en MPM prefork dans le fichier /etc/httpd/conf.modules.d/00-mpm.conf.
 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
 #LoadModule mpm_worker_module modules/mod_mpm_worker.so
 #LoadModule mpm_event_module modules/mod_mpm_event.so
  • Activer le chargement du module dans le fichier /etc/httpd/conf.modules.d/15-php.conf. Attention, cette configuration ne sera pas supportée.
 # ZTS module is not supported, so FPM is preferred
 LoadModule php7_module modules/libphp7-zts.so

Dans ce cas, le paquet php-fpm pourra être désinstallé.

7. Conclusion

Fedora 27 utilise désormais une configuration moderne et conforme aux recommandations des projets. La sécurité et les performances sont améliorées.

Tout changement provoque inévitablement quelques petits problèmes et quelques grincement de dents, mais nous essaierons de prendre en compte les difficultés et d'améliorer ce qui doit l'être dans les prochaines mises à jour et dans les prochaines versions de Fedora.

Je prévois de mettre à jour ce billet en fonction des retours.

PHP Forum 2017

Remi Collet

Cette année encore, j'ai eu le privilège de participer au PHP Forum à Paris, organisé par l'AFUP.

Comme à chaque fois, l'occasion de rencontrer de nombreux développeurs et utilisateurs de PHP, et d'avoir de grandes discussions. Comme d'habitude, l'organisation était parfaite. C'est vraiment l'événement francophone majeur autour de ce langage.

J'ai eu le plaisir de présenter, devant un amphi plein a craqué, la prochaine version PHP 7.2

La présentation est en ligne : Paris-2017.pdf

Ainsi que la vidéo : PHP 7.2

Pour les rémois, j'ai aussi fait cette présentation, dans une version légèrement raccourcie, lors du Meetup de Novembre à Reims.

Vacances

Remi Collet

Mes vacances commencent aujourd'hui, il est temps de rechercher les batteries, en mode déconnecté.

Le dépôt ne sera donc pas mis à jour avant le 1er aout.

 

PHP Tour - Nantes 2017

Remi Collet

De retour du PHP Tour 2017 à Nantes

Comme pour chaque événement de l'AFUP, organisation impeccable, et de nombreuses rencontres avec les développeurs et utilisateurs de PHP.

Cette année, j'ai donné une conférence sur la "Qualité de PHP"

  • versions et cycle de publication
  • gestion de la securité
  • feuille de route PHP 7.2
  • PHP QA et Fedora QA

J'espère que les auditeurs retiendrons l'importance que le projet donne à la stabilité et l'intérêt des tests et de la participation à la QA en testant leur projet avec les Release Candidates des versions stables (7.0.x, 7.1.x) et avec les versions beta des prochaines versions (7.2, 7.3, 8.0...).

Vous pouvez consulter la présentation (diapos en anglais) : Nantes2017.pdf

Commentaires sur joind.in

Effectivement, comme signalé par Eric, le format réduit de 35' ne m'a pas permis de mettre plus en valeur certaines actions de QA, j'aurais pu par exemple insérer quelques exemples issus de Koschei.

Environnement mobile et vie privée

Remi Collet

Se configurer un environnement mobile, pour unifier ses informations entre ordinateur fixe, portable, téléphone, en restant maitre de ses données, c'est à dire sans utiliser les services des monstres commerciaux qui sous prétexte de services "gratuits" pillent allégrement nos données et notre vie privée, reste un objectif important et délicat à atteindre.

Mais je pense que le lenjeu vaut l'effort.

Jusque maintenant, j'utilisais un téléphone sous Firefox OS, mais comme le projet est abandonné, j'ai du me résoudre à changer pour un nouvel appareil sous Android, voici un petit détail de mes choix.

1. Cloud

J'utilise depuis quelques années une instance Owncloud, récemment migrée vers Nextcloud qui me permet de disposer d'un espace pour mes données dont je reste totalement maitre.

2. Courriers

Pour les courriers électroniques, j'utilise depuis l'an 2000 le nom de domaine "famillecollet.com" gérer par gandi.net, qui gère aussi mes courriers. J'ai abandonné l'utilisation des adresses fournies par mon FAI (orange), car leur anti-spam est juste insupportable (100% des messages classés comme spam...) et leur service technique lamentable (impossible de désactiver ce service, malgré plusieurs dossiers ouverts au support).

Sur mes ordinateurs, j'utilise Thunderbird afin d'agréger mes nombreux comptes de messageries, identités et alias. Grâce à Enigmail, je peux aussi signer ou chiffrer les messages que j'envoie.

Je peux aussi accéder à ma messagerie depuis l'application Mail installée sur mon instance Nextcloud, ou le roundcubemail  mis à disposition par Gandi.

Sur mon téléphone, j'ai choisi de configurer uniquement l'accès à ma boite principale et personnelle (inutile de recevoir les centaines de messages des listes de diffusions...).

3. Contacts

J'ai installer l'application Contacts sur mon instance Nextcloud. Grâce à l'utilisation d'un standard / protocole ouvert, je peux synchroniser mon carnet d'adresses sur mes PC, avec le module CardBook pour Thunderbird et sur mon téléphone avec l'application CardDav-Sync free.

C'est un vrai bonheur d'utiliser le même carnet d'adresses partout, et de pouvoir l'alimenter depuis partout.

Évidement, je sauvegarde régulièrement (fichier .vcf) sur mon poste fixe, dans un dépôt git local pour garder trace des changements.

4. Agenda

J'ai installé l'application Calendar sur mon instance NextCloud. Encore une fois, en utilisant d'un standard / protocole ouvert, je peux synchroniser mon agenda sur mes PC, avec le module Lightning pour Thunderbird, et sur mon téléphone avec l'application CalDav Sync Adapter.

Enfin, cet agenda synchronisé devient un outil vraiment utile.

De la même manière, je sauvegarde régulièrement (fichier .ics) sur mon poste fixe, dans un dépôt git local.

5. Navigation internet

J'utilise depuis presque  toujours Firefox sur mes ordinateurs (en fait j'ai commencé avec Netscape Navigator 3).

Sur mon téléphone, j'ai donc installé la version Firefox pour Android, configuré pour utiliser le moteur de recherche Qwant respectant la vie privée. Sur l'écran d'accueil, le widget Firefox remplace celui de Google.

6. Documents et photos

Les clients Nextcloud installés sur tous mes PC et mon téléphone me permet d'avoir un dossier synchronisé entre mon instance Nextcloud et l'ensemble de mes appareils, ce qui assure leur redondance, la sauvegarde étant évidement régulière sur une support externe.

La fonction de téléversement depuis la galerie de photos me permet de les récupérer facilement.

7. Cartographie et GPS

J'ai remplacé l'application Maps fournie par défaut par l'application OsmAnd utilisant les cartes du projet libre OpenStreetMap. Les cartes sont téléchargées sur le téléphone, ce qui permet une utilisation hors connexion internet.

De plus le GPS est désactivé, et l'accès à la géolocalisation systématique refusé aux applications.

8. Vie privée

L'ensemble des solutions décrites ci-dessus me semble un très bon début.

Pour terminer, j'ai commencé à désinstaller ou désactiver l'ensemble des applications que je n'utilise pas sur mon téléphone.

Évidement, un compte Google existe, mais l'ensemble des synchronisations pour ce compte sont désactivées.

9. Conclusion

Ce suis vraiment satisfait du résultat obtenu, me permettant de disposer (enfin) d'un véritable environnement mobile, simple et efficace.

Actuellement, j'ai installé des applications gratuites, surtout pour mes tests, mais je prévois de passer rapidement sur les versions payante de manière à supporter leurs auteurs, qui font vraiment un boulot utile.

Non, la protection de sa vie privée n'est pas impossible, elle devrait même être un objectif prioritaire de chacun d'entre nous, et comme j'ai voulu le montrer ici, il existe des alternatives à l'abandon de la vie connectée. Oui, cela me coute un peu d'argent, mais clairement moins que ce que rapporte mes données personnelle à Google ou Facebook.

Effectivement, le m'appuie sur une instance Nextcloud auto-hébergée sur mon serveur dédié, mais il existe des services "propres", vous pouvez notamment regarder ce que fait framasoft avec framagenda, framadrive...Oui, je devrais fermer mon compte Facebook ou Twitter et utiliser ceux sur framasphere ou Mastodon, mais malheureusement, pas encore assez d'activité sur ces solutions alternatives aux réseaux sociaux, et je veux, évidement, rester en contact avec mon entourage.

Et pour finir, je vous encourage à lire l'excellent livre surveillance:// de Tristan Nitot, qui décrit de façon très pédagogique ces problèmes, et m'a donné envie de m'y mettre sérieusement.

Un peu de publicité

Remi Collet

Depuis quelque temps, je cherchais à comprendre ce qui différenciait mon blog des sites modernes à succès. Et j'ai trouvé, il manque de la publicité.

En effet, comment peut-on imaginer un site modern digne de ce nom, sans occuper une partie de l'espace laissé disponible par nos écrans modernes par ces bannière de pub colorées qui dynamisent si bien le web du XXIème siècle ?

Évidement, afin de ne pas renier mes valeurs, les bannières concerneront uniquement des projets libres.

Les bannières seront présentes sur ce blog et le forum. mais une version texte sera aussi affichée lors de l'installation de paquets depuis le dépôt, exemple :

# dnf install php-cs-fixer

Dépendances résolues.
====================================================================================================================================================================================
 Package                                      Architecture                           Version                                             Dépôt                                Taille
====================================================================================================================================================================================
Installation de:
 php-cs-fixer                                 noarch                                 2.2.0-1.fc25.remi                                   remi                                 228 k

Résumé de la transaction
====================================================================================================================================================================================
Installation  1 Paquet

Taille totale  : 228 k
Taille d'installation : 1.1 M
Est-ce correct [o/N] : o
Téléchargement des paquets :
Test de la transaction en cours
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
  Installation de               : php-cs-fixer-2.2.0-1.fc25.remi.noarch                                                                                                         1/1
  Vérification                  : php-cs-fixer-2.2.0-1.fc25.remi.noarch                                                                                                         1/1
================== ADS ======================
Need to do some work? Install LibreOffice to
edit documents, spreadsheets, and more.
      http://www.libreoffice.org/
=============================================

Installé:
  php-cs-fixer.noarch 2.2.0-1.fc25.remi                                                                                                                                             

Terminé !

De plus, pour les très rare qui voudraient réellement éviter cette publicité, ce que je ne peux évidement pas réussir à comprendre, un accès premium sera disponible, sans publicité, pour la modique somme de 3€ par mois seulement, 50% de ces fonds sera bien entendu reversé aux projets libres qui me tiennent à cœur.

Les projets libres intéressés par cette démarche peuvent me contacter sur Skype.

Apéro PHP à Reims

Remi Collet

L'Association Française des Utilisateurs de PHP (AFUP) organise ce Jeudi 9 mars un Super Apéro PHP qui se déroulera simultanément dans 14 grandes villes.

Pour la première fois, Reims rejoint le mouvement, en partenariat avec l'association Logiciel Libre en Champagne-Ardenne (LoLiCA) et organise le premier Apéro PHP rémois.

L'objectif est évidement de passer un moment convivial entre passionnés de PHP et d'échanger autour de ce langage, mais aussi de discuter de l'organisation régulière de ce type de rencontre, de la création d'une antenne officielle de l'AFUP à Reims, et pourquoi pas de trouver des entreprises intéressées pour nous aider (sponsoriser) pour l'organisation d'une rencontre plus formelle (meetup) ou serait proposé quelques conférences.

N'hésitez pas à nous rejoindre (inscrivez vous, même si cela n'est pas obligatoire) ou à me laisser un message si vous ne pouvez venir, mais seriez intéressés par ces actions et de futures rencontres. Pour nous trouver, cherchez l'éléPHPant qui sera présent à notre table.

Aussi présent sur l'Agenda du Libre.

Paquet PHP suplémentaires pour RHSCL

Remi Collet

Point de situation sur les dépôts officiels fournissant les Software Collections de PHP pour les utilisateurs de RHEL et de CentOS.

Depuis la publication de RHSCL 2.3, les utilisateurs de RHEL peuvent installer PHP 5.6 ou PHP 7.0 sans altérer leur système en utilisant le canal approprié.

Ces paquets sont aussi disponibles pour les utilisateurs de CentOS dans les dépôts SCL, géré par le groupe d'intérêt SCLo (SCLo SIG) :

# yum --enablerepo=extras install centos-release-scl

Le project CentOS fournit donc l'infrastructure et l'hébergement de 4 dépôts:

  • centos-sclo-rh : fournissant le même contenu que RHSCL
  • centos-sclo-sclo : fournissant des collections supplémentaires maintenues par la communauté
  • centos-sclo-rh-testing : fournissant les paquets à tester (version beta de RHSCL)
  • centos-scl-sclo-testing : fournissant les paquets à tester maintenus par la communauté

Les utilisateurs de RHEL souhaitant utiliser les paquets supplémentaires peuvent configurer le dépôt centos-sclo-sclo en utilisant le dépôt Copr centos-release-scl :

# cd /etc/yum.repos.d/
# wget https://copr.fedorainfracloud.org/coprs/rhscl/centos-release-scl/repo/epel-7/rhscl-centos-release-scl-epel-7.repo
# yum install centos-release-scl

Si vous êtes intéressés par ces paquets, je vous recommande de suivre la liste de diffusion sclorg@redhat.com ou sont discutés les éventuels problèmes et annoncées les évolutions. Merci d'utiliser cette liste pour vos retours (paquets en test) et toute autre demande.

Information et documentation sur https://www.softwarecollections.org/.

Le développement est suivi sur le git de sclorg-distgit.

Pour information, voici les paquets supplémentaires disponibles dans centos-sclo-sclo le 23 février 2017:

# Paquet Version Distribution Remarques
  sclo-php56-php-pecl-apcu
sclo-php70-php-pecl-apcu
4.0.10
5.18
6, 7  
  sclo-php70-php-pecl-apcu-bc 1.0.3 6, 7  
  sclo-php56-php-pecl-apfd
sclo-php70-php-pecl-apfd
1.0.1 6, 7  
  sclo-php56-php-pecl-geoip
sclo-php70-php-pecl-geoip
1.1.1 7  
  sclo-php56-php-pecl-http
sclo-php70-php-pecl-http
2.5.6
3.0.1
6, 7  
  sclo-php56-php-pecl-igbinary
sclo-php70-php-pecl-igbinary
2.0.1 6, 7  
  sclo-php56-php-pecl-imagick
sclo-php70-php-pecl-imagick
3.4.3 6, 7  
  sclo-php56-php-pecl-lzf
sclo-php70-php-pecl-lzf
1.6.5 6, 7  
  sclo-php70-php-pecl-memcached 3.0.3 7 testing
  sclo-php56-php-pecl-mongodb
sclo-php70-php-pecl-mongodb
1.1.10 6, 7  
  sclo-php70-php-pecl-msgpack 2.0.2 6, 7 testing
  sclo-php56-php-pecl-propro
sclo-php70-php-pecl-propro
1.0.2
2.0.1
6, 7  
  sclo-php56-php-pecl-raphf
sclo-php70-php-pecl-raphf
1.1.2
2.0.0
6, 7  
  sclo-php56-php-pecl-redis
sclo-php70-php-pecl-redis
3.1.1 6, 7 testing
  sclo-php56-php-pecl-selinux
sclo-php70-php-pecl-selinux
0.4.1 6, 7  
  sclo-php56-php-pecl-solr2
sclo-php70-php-pecl-solr2
2.4.0 6, 7  
  sclo-php56-php-pecl-uploadprogress
sclo-php70-php-pecl-uploadprogress
1.0.3.1 6, 7  
  sclo-php56-php-pecl-uuid
sclo-php70-php-pecl-uuid
1.0.4 6, 7  
  sclo-php56-php-pecl-xattr
sclo-php70-php-pecl-xattr
1.3.0 6, 7  
  sclo-php70-php-pecl-xdebug 2.4.1 6, 7  

 

Passage en HTTPS

Remi Collet

Vous l'avez peut-être déjà remarqué, mais je viens de basculer l'ensemble des sites pour une navigation sécurisée en HTTPS.

Les nouvelles adresses sont donc:

Pour le dépôt il est à noter que basculer par défaut sur l'https n'aurait du sens que si l'ensemble des miroirs étaient en https. Donc si vous voulez utiliser le dépôt en mode sécurisé, il faut choisir un miroir qui l'offre, et remplacer le mirrorlist par le baseurl voulu, en évitant le site principal qui est souvent très chargé.

Les certificats sont gracieusement fournis par Let's Encrypt.

Fermé pour les vacances

Remi Collet

Je pense avoir bien mérité quelques jours de repos, totalement déconnectés.

Je serais donc absent jusqu'à la fin du mois, et le dépôt ne recevra donc aucune mise à jour avant septembre (e.g. PHP 5.6.25 ou 7..10)

 

Fermé pour les vacances

Remi Collet

Je pense avoir bien mérité quelques jours de repos, totalement déconnectés.

Je serais donc absent jusqu'à la fin du mois, et le dépôt ne recevra donc aucune mise à jour avant septembre (e.g. PHP 5.6.25 ou 7..10).

Soyez patient ;)

PHP version 5.6 requise

Remi Collet

Voir la liste des versions supportées de PHP.

C'est donc désormais la version 5.6 minimum qui est requise pour certains paquets de dépôt remi.

toto requiert php(language) >= 5.6

Bien que de dépôt remi fournisse toujours les paquets de PHP 5.4 et le dépôt remi-php55 ceux de PHP 5.5, et que je prévois de maintenir ces versions encore quelques temps (en rétro-portant les correctifs de sécurité, alors que d'autres dépôts ont simplement prévu de les supprimer), ceci ne correspond pas à l'objectif principal de mon dépôt : fournir les dernières versions de PHP et favoriser leur adoption par les développeurs et les utilisateurs.

De plus en plus de projets ont déjà relevé la version minimum de PHP requise pour fonctionner :

  • phpMyAdmin depuis la version 4.4
  • PHPUnit depuis la version 5.0
  • Laravel Framework depuis la version 5
  • Nette Framework depuis la version 2.4
  • Symfony Framework depuis la version 3.0
  • Zend Framework depuis la version 2.5
  • etc

Maintenir plusieurs versions des applications et bibliothèques et vraiment un boulot énorme. Jusqu'à présent ces versions étant dans le dépôt remi-test, alors qu'elles sont évidement stables. Désormais, elle seront progressivement déplacées dans le dépôt stable.

Si vraiment vous souhaitez continuer à utiliser une ancienne version de PHP:

  • vous devrez vous passer des applications et bibliothèques récents, en empêchant leur installation (directive exclude dans le fichier remi.conf)
  • mettre à jour le PHP du système en version 5.6, et utiliser la SCL pour les sites nécessitant l'ancienne version

Je recommande de prévoir la migration vers une version maintenue :

En particulier, il me semble utile de rappeler que depuis la version 5.4, la compatibilité des nouvelles versions est très bonne, et que la mise à jour est souvent facile (mais nécessite quand même quelques tests).

Je suis un peu triste de voir que les versions non maintenues représentent toujours plus de la moitié des téléchargements (31% pour 5.4, 23% pour 5.5 sur les 2 dernières semaines).

Je comprends que cela ferra plaisir à certains et moins à d'autre, mais j'espère vraiment que cela favorisera la mise à jour vers une version maintenue, et que les statistiques de téléchargement le montreront.

 

PHP version 5.6 requise

Remi Collet

Voir la liste des versions supportées de PHP.

C'est donc désormais la version 5.6 minimum qui est requise pour certains paquets de dépôt remi.

toto requiert php(language) >= 5.6

Bien que de dépôt remi fournisse toujours les paquets de PHP 5.4 et le dépôt remi-php55 ceux de PHP 5.5, et que je prévois de maintenir ces versions encore quelques temps (en rétro-portant les correctifs de sécurité, alors que d'autres dépôts ont simplement prévu de les supprimer), ceci ne correspond pas à l'objectif principal de mon dépôt : fournir les dernières versions de PHP et favoriser leur adoption par les développeurs et les utilisateurs.

De plus en plus de projets ont déjà relevé la version minimum de PHP requise pour fonctionner :

  • phpMyAdmin depuis la version 4.4 (php 5.5)
  • PHPUnit depuis la version 5.0 (php 5.6)
  • Laravel Framework depuis la version 5 (php 5.5)
  • Nette Framework depuis la version 2.4 (php 5.6)
  • Symfony Framework depuis la version 3.0 (php 5.5)
  • Zend Framework depuis la version 2.5 (php 5.5) et pour le version 3.0 (php 5.6)
  • etc

Maintenir plusieurs versions des applications et bibliothèques et vraiment un boulot énorme. Jusqu'à présent ces versions étant dans le dépôt remi-test, alors qu'elles sont évidement stables. Désormais, elle seront progressivement déplacées dans le dépôt stable.

Si vraiment vous souhaitez continuer à utiliser une ancienne version de PHP:

  • vous devrez vous passer des applications et bibliothèques récents, et empêcher leur installation (directive exclude dans le fichier remi.conf)
  • mettre à jour le PHP du système en version 5.6, et utiliser la SCL pour les sites nécessitant l'ancienne version

Je recommande de prévoir la migration vers une version maintenue :

En particulier, il me semble utile de rappeler que depuis la version 5.4, la compatibilité des nouvelles versions est très bonne, et que la mise à jour est souvent facile (mais nécessite quand même quelques tests).

Je suis un peu triste de voir que les versions non maintenues représentent toujours plus de la moitié des téléchargements (31% pour 5.4, 23% pour 5.5 sur les 2 dernières semaines).

Je comprends que cela ferra plaisir à certains et moins à d'autre, mais j'espère vraiment que cela favorisera la mise à jour vers une version maintenue, et que les statistiques de téléchargement le montreront.

 

Nouveau dépôt "remi-php71"

Remi Collet

Je viens d'ouvrir le dépôt remi-php71 pour Fedora ≥ 23 et pour Enterprise Linux ≥ 6

Ce dépôt contient actuellement PHP 7.1.0beta1 et environ 75 extensions déjà compatibles.

emblem-important-4-24.pngCe dépôt contient actuellement des versions en cours de développement qui ne sont pas destinées à être utilisées en production.

Le configuration est fournit dans la dernière version du paquet remi-release :

  • remi-release-23-4.fc23.remi
  • remi-release-24-2.fc24.remi
  • remi-release-6.8-1.el6.remi
  • remi-release-7.2-1.el7.remi

emblem-notice-24.pngComme pour mes autres dépôts, il n'est pas activé par défaut, la mise à jour est donc une décision de l'administrateur.

Par exemple, pour mettre à jour la version système :

yum --enablerepo=remi update remi-release
yum --enablerepo=remi-php71 update php\*

emblem-important-2-24.pngComme quelques extensions ne sont pas encore disponible, il y a des chances que la mise à jour échoue, il faudra donc supprimer ces extensions ou attendre leur disponibilité.

PHP 7.1 en Software Collection reste dans le dépôt "remi-safe"  puisqu'il n'y a pas de conflit avec la version de base.

 

Nouveau dépôt "remi-php71"

Remi Collet

Je viens d'ouvrir le dépôt remi-php71 pour Fedora ≥ 23 et pour Enterprise Linux ≥ 6

Ce dépôt contient actuellement PHP 7.1.0beta1 et environ 75 extensions déjà compatibles.

emblem-important-4-24.pngCe dépôt contient actuellement des versions en cours de développement qui ne sont pas destinées à être utilisées en production.

Le configuration est fournit dans la dernière version du paquet remi-release :

  • remi-release-23-4.fc23.remi
  • remi-release-24-2.fc24.remi
  • remi-release-6.8-1.el6.remi
  • remi-release-7.2-1.el7.remi

emblem-notice-24.pngComme pour mes autres dépôts, il n'est pas activé par défaut, la mise à jour est donc une décision de l'administrateur.

Par exemple, pour mettre à jour la version système :

yum --enablerepo=remi update remi-release
yum --enablerepo=remi-php71 update php\*

emblem-important-2-24.pngComme quelques extensions ne sont pas encore disponible, il y a des chances que la mise à jour échoue, il faudra donc supprimer ces extensions ou attendre leur disponibilité.

PHP 7.1 en Software Collection reste dans le dépôt "remi-safe"  puisqu'il n'y a pas de conflit avec la version de base.

 

PHP version 7.0 dans Fedora 25

Remi Collet

Le FESCO a approuvé, pour Fedora 25 la mise à jour de PHP 5.6 vers PHP 7.0.

 

Pour mémoire, il s'agit de l'aboutissement d'un travail commencé il y a plus d'un an :

Et depuis, chaque version mineure a été publiée dans le dépôt le jour son annonce.

Depuis hier, PHP version 7.0.8 est la version disponible dans Fedora rawhide. Elle sera donc utilisée pour la QA de la pile PHP.

À noter, extensions et paquets supprimés:

  • php-ereg
  • php-mssql
  • php-mysql
  • php-pecl-jsonc (mais php-json est de retour)
  • php-pecl-mongo (php-pecl-mongodb est en cours de review)
  • php-pecl-xhprof
  • php-pecl-mysqlnd-ms
  • php-pecl-mysqlnd-qc
  • php-xcache

D'autres seront sans doute supprimés ultérieurement par leur mainteneur, actuellement les extensions compatibles ont toutes été mises à jour: amqp, apcu, apfd, event, fann, geoip, gmagick, http, lorde_lz4, igbinary, json_post, libsodium, libvirt, lzf, mailparse, memcache, memcached, msgpack, oauth, pq, propro, raphf, redis, rrd, selinux, smbclient, solr2, ssdeep, ssh2, twig, uuid, xattr, xdebug, xmldiff, yac, yaml, zip, zmq.

Il reste maintenant à traiter l'ensemble des problèmes détectés par Koschei dans le groupe php.

Et bien sur, j'ai déjà commencé à travailler sur PHP 7.1 qui sera sans doute proposé pour Fedora 26.

Ça se passe donc d'abord ici, dans le dépôt remi, qui est la base utilisée pour Fedora, et plus tard RHEL ou CentOS.

Un grand merci à mon employeur et à tous les utilisateurs de mes paquets, qui m'aident à rendre cela possible.

PHP version 7.0 dans Fedora 25

Remi Collet

Le FESCO a approuvé, pour Fedora 25 la mise à jour de PHP 5.6 vers PHP 7.0.

 

Pour mémoire, il s'agit de l'aboutissement d'un travail commencé il y a plus d'un an :

Et depuis, chaque version mineure a été publiée dans le dépôt le jour son annonce.

Depuis hier, PHP version 7.0.8 est la version disponible dans Fedora rawhide. Elle sera donc utilisée pour la QA de la pile PHP.

À noter, extensions et paquets supprimés:

  • php-ereg
  • php-mssql
  • php-mysql
  • php-pecl-jsonc (mais php-json est de retour)
  • php-pecl-mongo (php-pecl-mongodb est en cours de review)
  • php-pecl-xhprof
  • php-pecl-mysqlnd-ms
  • php-pecl-mysqlnd-qc
  • php-xcache

D'autres suivront sans doute, actuellement les extensions compatibles ont toutes été mises à jour: amqp, apcu, apfd, event, fann, geoip, gmagick, http, lorde_lz4, igbinary, json_post, libsodium, libvirt, lzf, mailparse, memcache, memcached, msgpack, oauth, pq, propro, raphf, redis, rrd, selinux, smbclient, solr2, ssdeep, ssh2, twig, uuid, xattr, xdebug, xmldiff, yac, yaml, zip, zmq.

Il reste maintenant à traiter l'ensemble des problèmes détectés par Koschei dans le groupe php.

Et bien sur, j'ai déjà commencé à travailler sur PHP 7.1 qui sera sans doute proposé pour Fedora 26.

Ça se passe donc d'abord ici, dans le dépôt remi, qui est la base utilisée pour Fedora, et plus tard RHEL ou CentOS.

PHP Tour 2016 Clermont-Ferrand

Remi Collet

J'ai eu le plaisir de participer au PHP Tour 2016 à Clermont-Ferrand.

J'y ai donné une conférence "Oublions mod_php". Il s'agit de revenir sur cette méthode d'installation de PHP, la plus documentée et la plus simple, mais qui a souvent nuit à l'image d'Apache HTTPD Server, et entrainé une migration d'utilisateurs vers nginx avec son modèle threadé. et donc l'utilisation de FPM. Alors qu'il est tout à fait possible d'utiliser apache en mode threadé avec les MPM worker ou event en utilisant FPM.

C'est aussi l'occasion de montrer à quel point il est aisé de passer a une configuration d'apache + FPM, simple ou avancée:

  • remplacer mod_php par php-fpm
  • plusieurs versions de PHP
  • répartition de charge

La présentation : Clermont2016.pdf

Événement sur Joind : Oublions mod_php

Et comme chaque année, ce nouveau PHP Tout a été l'occasion de rencontres particulièrement enrichissantes avec les développeurs et utilisateurs de PHP.

Bientôt le PHP Forum 2016 à Paris.

 

Statistiques par version de PHP

Remi Collet

Voici quelques statistiques de téléchargement pour les différentes versions de PHP depuis le dépôt remi.

Calculées à partir des ~100k téléchargements en 1 mois.

Paquets de base (version unique)

  • 5.4.45: 32.6% (représentait 47% en octobre 2015)
  • 5.5.33: 18.9% (5.5.29 représentait 21%)
  • 5.6.19: 41.3% (5.6.13 représentait 31%)
  • 7.0.4: 7.2%

php-201603.png

Paquets SCL (installation en parallèle de plusieurs versions)

  • 5.4.45: 10.4%
  • 5.5.33: 16.6%
  • 5.6.19: 41.5%
  • 7.0.4: 31.5%

Les chiffres des SCL sont moins intéressants, car les elles sont utilisées pour avoir plusieurs versions, souvent sur une station de développement, ou pour tester une nouvelle version, ou pour conserver un ancienne version pour une ancienne application.

Conclusion: l'utilisation de 5.4 reste beaucoup trop élevé pour une version morte (non maintenue), même si l'intègre quelques correctifs de sécurité dans mes paquets (rétro-porté depuis 5.5), je recommande vivement de faire la mise à jour vers une version maintenue, 5.5 (fin de vie en juillet 2016) ou mieux 5.6 (fin de vie en Decembre 2018).

 

 

100 000 000 de téléchargements

Remi Collet

Alors que le dépôt remi aura bientôt 11 ans, nous venons de dépasser la barre des 100 millions de RPM téléchargés :)

Évidement, ce chiffre n'est qu'un indicateur, il ne tient pas compte des premières années, des utilisateurs qui aspirent le dépôt complet ni des miroirs privés, mais il me permet tout de même d'observer le succès croissant de mon travail, ainsi que de mesurer la popularité des différents paquets disponibles.

Si les dons reçus me permettent de financer l'hébergement, ils sont surtout une preuve de l'utilité de mon travail et de la reconnaissance des utilisateurs. Lorsqu'ils cesseront, je saurais que je peu fermer le site.

D'autres dépôts tentent de suivre, récupérant mon travail ici ou dans fedora. Ils seront toujours derrière.

Un petit regret : PHP 5.4 représente encore 34% des téléchargements, c'est trop (PHP 5.5 20%, PHP 5.6 40% et PHP 7.0 7%) mais la tendance est bonne, juste un peu lente à mon goût.

Une satisfaction : les Software Collections représente environ 20% ce qui prouve que c'est un bon outil, répondant à un vrai besoin d'installation en parallèle.