Category:sysadmin

alléger une installation php

Ça fait un moment que je me demande s’il existe un outil pour déterminer les extensions php nécessaires au bon fonctionnement d’un site… et bien sûr ça existe, mais j’ai mis un moment à le trouver: ça s’appelle PHP_Compatinfo alias PHPCI, c’est un « module » pear pas bien compliqué à installer, avec un utilitaire CLI, et ça sait parser du code php pour en extraire plein d’informations, dont la fameuse liste des extensions nécessaires… par exemple sur une installation drupal avec quelques modules, la commande:
phpci -dmemory_limit=512M --no-configuration print --reference PHP5 --recursive --report extension 9hz8o97./
me répond:

-------------------------------------------------------------------------------
PHP COMPAT INFO EXTENSION SUMMARY
-------------------------------------------------------------------------------
  EXTENSION                             EXT min/Max       PHP min/Max     COUNT
-------------------------------------------------------------------------------
  Core                                  4.0.0             4.0.0           34544
  PDO                                                     5.1.0              76
  Reflection                                              5.0.0               4
  SPL                                   5.1.0             5.0.0             247
  SimpleXML                                               5.0.1              17
  bcmath                                5.0.0             4.0.0               7
  bz2                                                     4.0.4               9
  ctype                                                   4.0.4               1
  curl                                                    4.0.2             193
  date                                                    4.0.0             335
  dom                                                     5.0.0               9
  filter                                0.11.0            4.0.0              11
  gd                                                      4.0.0             125
  gmp                                                     4.0.4               8
  hash                                  1.1               4.0.0              24
  iconv                                                   4.0.5               2
  json                                  5.3.0             5.2.0              17
  libxml                                5.2.11            5.0.0              37
  mbstring                                                4.0.6              13
  openssl                                                 4.0.4               1
  pcre                                                    4.0.0             459
C pdo                                                     4.0.0               2
  session                                                 4.0.0              43
  standard                              4.1.0             4.0.0           10080
C tidy                                                    4.0.0               1
  xml                                                     4.0.0              31
  zip                                   1.6.0             4.3.0               1
C zlib                                  1.0               4.0.0              27
-------------------------------------------------------------------------------
A TOTAL OF 28 EXTENSIONS WERE FOUND
WITH 3 EXCLUDED ON CONDITIONAL CODE
REQUIRED PHP 5.2.0 (MIN) 
-------------------------------------------------------------------------------

Bon, a part PDO il n’a pas deviné quelle BDD j’utilise, mais je pense pouvoir le deviner… sinon mes process httpd passent de 322M à 271M en RAM 🙂 (et oui, ça baisserait aussi pour du php-fpm, mais il est pas encore arrivé là).

Il semble être capable de déterminer un tas de choses liées aux tests unitaires et à la couverture du code, aux modules PEAR, etc.

Horde/kronolith: sauvegarde d’agendas

Dans Horde/kronolith, il peut arriver qu’un agenda subisse des pertes (évènements dupliqués, problèmes d’accès concurrents par plusieurs personnes du même agenda, ratage de l’utilisateur qui « ne pensait pas que ça allait tout effacer quand même », …).

Dans tous les cas, il peut être intéressant de savoir extraire de manière automatique un agenda dans un format réutilisable (eg: standard Icalendar)

Si ça vous intéresse, voici le petit bout de script qui fait ça: export_ics