DS Log
In my blog, I delve into the world of programming web technologies, Linux, Unix-like, and graphic design using free tools on Linux.
KINGCODE
KingCode Editor (ex Texty Editor) is my project developed using Java Swing. Project is still in development and in beta version. I plan to add additional features focused for PYTHON, PHP, JAVA, C, JS and BASH.
Read more ↗
VUE on Linux
In this guide, I'll walk you through the step-by-step process of setting up Vue.js on your Linux system, empowering you to create dynamic and interactive web applications. Let's harness the power of Vue.js together on the Linux platform!
Read more ↗
Symfony PHP
Dive into the world of Symfony PHP with this comprehensive introduction. In this guide, you'll learn the essential steps to create and manage posts and users, empowering you to build dynamic web applications with ease.
Read more ↗
Trying Linux from Windows
How to set up a PHP development server on Ubuntu 22.04
Text editors
List of text editors for developers.
Read more ↗
Fonts
Important fonts everyone needs to know.
Read more ↗
Try Linux from Windows
Here are some quick videos I made showing how to try out Linux Mint on Windows.
Read more ↗
Saturday, November 29, 2025
PHP development server is stuck in a loop
The PHP built-in development server, introduced in PHP 5.4, is a command-line tool that allows developers to quickly spin up a basic web server to test PHP applications locally without the need to install and configure a full-featured server like Apache or Nginx.
It's a huge convenience for development and testing, but it has key limitations that make it unsuitable for production.
Sometimes for some reason PHP server gets stuck in a lopp where you can't quit the server app.
To solve this I have created start and stop bash scripts.
start.sh
php -S localhost:9876
stop.sh
#!/usr/bin/env bash
set -euo pipefail
PATTERN='php -S localhost:9876'
pids=$(ps aux | grep -F "$PATTERN" | grep -v grep | awk '{print $2}')
if [ -z "$pids" ]; then
echo "No matching php process found for: $PATTERN"
exit 0
fi
echo "Found PIDs: $pids"
for pid in $pids; do
echo "Killing PID $pid..."
kill "$pid" 2>/dev/null || true
done
sleep 1
for pid in $pids; do
if kill -0 "$pid" 2>/dev/null; then
echo "PID $pid still running; force killing..."
kill -9 "$pid" 2>/dev/null || true
else
echo "PID $pid terminated."
fi
done