В статье «PHP: a fractal of bad design» представлен подробный и обстоятельный обзор проблем в дизайне языка программирования PHP. Автор показывает исключительность PHP как одного из наиболее непроработанных языков, проблемы в котором носят систематический характер. В частности в статье продемонстрированы проблемы в самом языке, библиотеке функций, структурах, механизмах работы с данными, экосистеме, средствах отладки. Указаны на недоработки в безопасности, надёжности, целостности и предсказуемости.
Если рассматривать безопасность, то в качестве примера изначально порочной практики приводится разрозненность средств для чистки и нормализации данных перед их использованием в различных операциях, что является прекрасным подспорьем для возникновения в приложениях уязвимостей, позволяющих осуществить подстановку SQL-кода или встраивания JavaScript на страницу. Упоминания также заслуживает подход «небезопасен по умолчанию», который только последнее время стал пересматриваться разработчиками PHP, например, причиной моря уязвимостей является использование register_globals и поддержка выполнения внешнего кода по URL в директиве include. Из проблем в самом интерпретаторе отмечается попытка исправить в 2007 году целочисленную уязвимость через проверку «if (size INT_MAX) return NULL;»; ошибка в реализации функции crypt() в PHP 5.3.7 из-за которой можно было зайти с любым паролем; DoS-уязвмость в PHP 5.4, связанная с выделением памяти на основании переданного пользователем значения в HTTP-заголовке Content-Length.