Articles

Configuration de base PHP 5.2.3

  • Ecrit par Damien Seguy
  • vendredi 10 août 2007
Image pour le titre du contenu

Vous lisez une vieille version : ce document dispose d'une version plus récente : Mambo License Guidelines

This document is also available in English en 


Depuis que PHP 5.2.3 est sorti,plus de 9000 tests ont été envoyés à l'équipe d'assurance qualité.  Dans les tests produits, il y a les tests erronés, ainsi qu'un phpinfo() anonyme, qui permet à la PHP Team de mieux comprendre la source des erreurs, sans livrer aucune information sur le site d'origine. Avec autant de phpinfo()s, la tentation est grande de regarder les choix de configurations.

Cet article est une mise à jour de Configuration de base PHP 5.2.2

Attention : les statistiques suivantes se basent sur les rapports de tests envoyés à php.net. Il n'est pas possible de savoir s'ils sont représentatifs de la population de serveur PHP 5.2.3, ni même s'il sont utilisés sur le Web ou en CLI uniquement. Le seul garant de la crédibilité ici est un nombre relativement élevé de résultats traités. Lui, et la loi des grands nombres.

D'après l'étude, les configurations PHP ont de 5 à 61 extensions. Les configurations les plus fréquentes contiennent 23 extensions, et rares sont celles qui en ont moins. La probabilité décroit alors avec le nombre d'extensions qui augmente. Le record actuel d'extensions PHP compilées et testées simultanémement est de 61.

La configuration standard


La configuration standard est la liste des extensions de PHP que vous êtes presque sûr de trouver sur une architecture PHP quelconque.

La seule qui est vraiement incontournable est standard (si vous ne la trouvez pas, vous n'êtes sur PHP, ou bien vous avez une des configurations très sécuritaires avec disable_functions pour toutes les fonctions de PHP).

Date et pcre sont aussi obligatoires en PHP 5.2.3, et vous les retrouverez donc à coup sûr. Les sessions ne sont pas totalement certaines,  mais les chiffres ici mélangent probablement les installations Web et CLI : dans ce dernier cas, elles ne servent pas.



Les extensions fréquentes

Cette liste d'extension rassemble les extensions qui sont souvent là, mais finalement parfois absentes. Certaines sont sur la pente montante, comme json, d'autres sur la pente descendante, comme mysql.  La rupture est nette avec les extensions standards : sqlite affiche 90% de présence, tandis que mysql  affiche une présence de 65%. En combinant mysqli et mysql, on atteint  85% de présence.


Les extensions rares

Ces extensions sont rares : elles ne dépassent pas  10% de présence sur les installations PHP. Si votre application repose sur cette extension, le choix de l'hébergement représentera une contrainte forte pour vos utilisateurs.

Une partiedes extension ci-dessous font partie de PECL, les autres sont publiées sur des sites tiers. C'est l'occasion de découvrir des extensions inconnues.




Toutes les extensions
Et voici la  liste de toutes les extensions avec leur popularité, ainsi que le détail de chaque extension en pourcentage.




tous les liens mènent à la documentation PHP, au site de PECL ou  à une recherche sur Google.

date100.00 %PECL ext
standard100.00 %Other extension
pcre100.00 %PECL ext
session99.72 %PECL ext
Reflection99.66 %PECL ext
SPL99.27 %PHP standard
hash99.17 %PHP standard
filter99.06 %PHP standard
libxml99.05 %PECL ext
ctype99.04 %PECL ext
json99.00 %PHP standard
tokenizer98.94 %PECL ext
xml98.84 %PECL ext
iconv98.64 %PECL ext
SimpleXML98.57 %PECL ext
posix98.42 %PECL ext
xmlreader97.89 %PHP standard
xmlwriter97.87 %PHP standard
dom97.81 %PECL ext
PDO97.29 %PHP standard
pdo_sqlite96.10 %PHP standard
SQLite93.89 %PHP standard
mysql61.87 %PHP standard
zlib50.42 %PECL ext
gd43.04 %PECL ext
mbstring35.32 %PECL ext
ftp25.85 %PECL ext
openssl24.71 %PECL ext
curl23.45 %PECL ext
sockets21.51 %PECL ext
gettext20.86 %PECL ext
exif16.56 %PECL ext
calendar16.30 %PECL ext
mysqli14.66 %PECL ext
bcmath13.80 %Other extension
mcrypt13.50 %PECL ext
bz212.99 %PHP standard
pgsql11.89 %PECL ext
soap10.56 %PECL ext
sysvsem7.99 %Other extension
sysvshm7.99 %Other extension
wddx7.62 %PECL ext
xsl7.51 %PECL ext
mhash7.51 %PECL ext
dba7.01 %PECL ext
imap6.84 %PECL ext
ldap6.83 %PECL ext
shmop5.95 %PECL ext
pdo_mysql5.73 %PHP standard
zip5.48 %PHP standard
mime_magic4.94 %PECL ext
gmp4.85 %PECL ext
xmlrpc4.75 %PECL ext
sysvmsg3.98 %Other extension
pspell3.79 %PECL ext
dbase3.72 %PECL ext
pcntl3.43 %PECL ext
ncurses2.89 %PHP standard
mssql2.40 %PECL ext
pdo_pgsql2.24 %PHP standard
readline2.09 %PECL ext
snmp1.85 %PECL ext
odbc1.78 %PECL ext
tidy1.55 %PHP standard
apc1.05 %PHP standard
memcache0.76 %PHP standard
ming0.61 %PECL ext
eAccelerator0.52 %Other extension
ionCube Loader0.47 %Other extension
XCache0.42 %Other extension
sybase0.34 %PECL ext
pdf0.32 %PECL ext
fileinfo0.31 %PHP standard
xdebug0.29 %PHP standard
magickwand0.28 %Other extension
suhosin0.22 %Other extension
http0.18 %PECL ext
sybase_ct0.16 %Other extension
imagick0.14 %PHP standard
ffmpeg0.13 %Other extension
interbase0.13 %Other extension
pdo_dblib0.13 %PHP standard
crack0.12 %PHP standard
com_dotnet0.11 %PECL ext
jobqueue_client0.09 %Other extension
wsf0.08 %Other extension
radius0.08 %PHP standard
uploadprogress0.08 %PHP standard
ssh20.08 %PHP standard
PDO_OCI0.07 %PHP standard
geoip0.07 %PHP standard
runkit0.07 %PHP standard
simplate0.06 %Other extension
swishe0.06 %Other extension
recode0.05 %PECL ext
lzf0.05 %PHP standard
mailparse0.05 %PHP standard
PDO_Firebird0.05 %PECL ext
yaz0.05 %PHP standard
java0.05 %PECL ext
MapScript0.05 %Other extension
pdo_informix0.04 %PHP standard
ADOdb0.04 %Other extension
fdf0.04 %PECL ext
adv_ini0.04 %Other extension
APD0.04 %PHP standard
mnogosearch0.04 %PHP standard
svn0.03 %PHP standard
rrdtool0.03 %Other extension
gnupg0.03 %PHP standard
php_dumper0.03 %Other extension
dbg0.03 %Other extension
amf0.02 %Other extension
fribidi0.02 %PHP standard
kakapo0.02 %Other extension
pfpro0.02 %PECL ext
daumauth0.02 %Other extension
chinapay0.02 %Other extension
xdiff0.02 %PHP standard
syck0.02 %PHP standard
namazu0.02 %PHP standard
stats0.01 %PHP standard
ps0.01 %PHP standard
sdo0.01 %Other extension
timezonedb0.01 %PHP standard
PHPPROJ0.01 %Other extension
id30.01 %PHP standard
rar0.01 %PHP standard
kakasi0.01 %Other extension
sql_relay0.01 %Other extension
face_detect0.01 %Other extension
spread0.01 %PHP standard
Xaira0.01 %Other extension
file_get_contents_compress0.01 %Other extension
VersyPDF0.01 %Other extension
KOSHIAN0.01 %Other extension
ogr0.01 %Other extension
translit0.01 %PHP standard
perl0.01 %PHP standard
yats0.01 %Other extension
msql0.01 %PECL ext
ChartDirector PHP API0.01 %Other extension
idn0.01 %PHP standard
flexis0.01 %Other extension
vld0.01 %PHP standard
cybersource0.01 %Other extension
mod_cluster0.01 %Other extension
PostgreSQL0.01 %Other extension
mecab0.01 %Other extension
dio0.01 %PHP standard
ivan_test0.01 %Other extension
odbtp0.01 %PHP standard
ibm_db20.01 %PHP standard
oci80.01 %PECL ext
dbx0.01 %PHP standard

A noter :
  • Les configurations présentées sont probablement trop éloignées des configurations en production pour être intéressantes. Les statistiques sur les extensions sont plus fiables.
  • Il est possible de faire des compléments d'informations sur d'autres aspects statiques des architectures PHP (version des bibliothèques, assistants, etc). Si vous êtes intéressés par une de ces données, laissez-moi un message.
< Précédent   Suivant >

Commentaires

Vous pouvez ajouter votre commentaire!


Vous devez vous connecter pour commenter