Erreur de segmentation ?

Une erreur de segmentation (en anglais segmentation fault, en abrégé segfault) est un plantage d’une application qui a tenté d’accéder à un emplacement mémoire qui ne lui était pas alloué.

Les applications, lorsqu’elles s’exécutent, ont besoin de mémoire vive, allouée par le système d’exploitation. Une fois allouée à l’application, aucune autre application ne peut avoir accès à cette zone ; cela garantit une sûreté de fonctionnement pour chaque application contre les erreurs des autres. Ainsi, si une application tente le moindre accès à une zone mémoire qui ne lui est pas allouée, le système d’exploitation le détecte et stoppe immédiatement son exécution.

La très grande majorité des erreurs de segmentation ne sont pas volontaires (si elles le sont, il y a de fortes chances que cela soit dans un but délictueux) ; elles sont dues à une mauvaise conception ou réalisation de l’application.

Wikipedia – https://fr.wikipedia.org/wiki/Erreur_de_segmentation

Comment ça se passe en PHP

PHP est un langage de programmation et il est possible que ce type d’erreur soit déclenché lors de l’exécution de certaines portions de code…

Sur Github, un dépôt créé par Hanno Böck recense plusieurs façon de les déclencher. Ces exemples détaillent s’il s’agit d’un bug dans le langage (avec le lien vers le bug tracker) et quelles versions sont touchées.

https://github.com/hannob/php-crashers

Si vous testez ces différents scripts, il est important que l’extension XDebug ne soit pas activée. Elle va agir comme garde fou sur les problèmes mis en avant dans ce code (limite d’imbrication de fonction par exemple).