How to kill PHP (on purpose)

Dzhuneyt Ahmed - Author of this post

By: Dzhuneyt Ahmed

Posted · 1 min read

Outdated: This post was written as an educational curiosity. The functions and behaviors described may differ in modern PHP versions. The shell_exec() approach would not work in most modern PHP environments, where dangerous functions are disabled by default.

1. Stack overflow (e.g calling a function inside itself).

function a() { a(); }

a();

First you define a function called a() and the function’s sole purpose is to call itself again, causing an infinite loop. Then you just call the function.

2. Excessive Memory Allocation Using str_repeat

str_repeat("a", 10000000000);

The above code will cause PHP to use too much memory (which will cause the process to close), if the correct memory or script runtime limits are not properly configured.

3. Kill the Apache Process with PHP Script

shell_exec("killall -11 httpd");

This simple code will kill (end) all running Apache processes, except the Daemon (which runs as Root). All other Apache processes run under the same user, which means that one of them with the harmful script, mentioned above can easily kill the rest. The best way to ensure Apache’s protection in this case is to disable execution commands such as exec() or shell_exec() using the disable_functions() directive.

Dzhuneyt Ahmed

Dzhuneyt

Helping teams build reliable cloud infrastructure — without the bloated bill.

Social

My Other Blogs

© 2026 Dzhuneyt Ahmed. All rights reserved.