PHP, which stands for PHP: Hypertext Preprocessor, is a scripting language that runs on a web server and builds the HyperText Markup Language (HTML) that a visitor receives. The name was first Personal Home Page. The PHP Group produces the reference implementation, which is the interpreter that runs PHP code.
History of PHP
Creator: Rasmus Lerdorf; later the PHP Group and Zend Engine developers. Year: 1995.
Rasmus Lerdorf started PHP in the early 1990s to keep his personal homepage. He wrote Common Gateway Interface (CGI) programs in C. He then added support for HTML forms and databases. He called the result Personal Home Page/Forms Interpreter, or PHP/FI. Pages could now change for each visitor.
In June 1995 Lerdorf released PHP Tools to the public. He announced it on Usenet as Personal Home Page Tools version 1.0. It had Perl-like variables, form handling and HTML embedding. Lerdorf later said that there was never any intent to write a programming language. It grew as users asked for more features.
PHP 3 and PHP 4 cover the years from 1998 to 2004. PHP 5 started in 2004, and its early releases ran until 2006. Later PHP 5 releases came out from 2009 to 2014. The planned PHP 6 Unicode work was delayed and then abandoned. The next major version became PHP 7. Its base was a branch named PHP next generation, written by Dmitry Stogov, Xinchen Hui and Nikita Popov. It aimed to make PHP faster.
PHP 8.0 was released on 26 November 2020. It had breaking changes from earlier versions. It added a just-in-time (JIT) compiler. The compiler turns code into machine instructions while the program runs. PHP 8.0 also added attributes. Attributes attach metadata to classes, methods and parameters. Later versions added built-in attributes.
Changelog and latest update
PHP 8.2 left active support on 31 December 2024. Security fixes end on 31 December 2026. PHP 8.3 gets security fixes until 31 December 2027. PHP 8.4 gets them until 31 December 2028. PHP 8.5 came out on 20 November 2025. Security fixes last until 31 December 2029. The php.net table shows each date.
PHP 8.5 added the NoDiscard and DelayedTargetValidation attributes. Each point release fixes bugs in one branch. It also fixes security problems there. A branch gets no fixes after its end date. Users should move to a supported branch.
The PHP Foundation is a separate body. It supports the project. The PHP Group still makes the reference PHP. PHP 8.6 is the next version. The releases page lists its release candidate. A release candidate comes before the final release. It is for testing only.
Latest update: PHP 8.5.11, 2026-09-24
The PHP Group released PHP 8.5.11 on 24 September 2026. The ChangeLog lists a fix in the BCMath extension. The fix closes an out of bounds read. The PHP team also published PHP 8.6.0 RC3 for testing. RC3 means release candidate 3.
Usage examples
PHP code sits inside a file that starts with the open tag and ends with the close tag. Text outside the tags goes to the browser unchanged, and echo sends output into the page. Superglobal arrays such as the POST array carry form data from the browser to the script. The examples show a page with a date, a form check, a loop that builds links and a command line call that starts the built-in web server.
<?php
$name = "Visitor";
$safe = htmlspecialchars($name);
echo "<p>Hello, $safe</p>";
echo "<p>" . date("Y-m-d") . "</p>";
?>The htmlspecialchars function changes characters such as angle brackets into safe entities before the value enters the page. The echo lines send the greeting and the current date to the browser. The date function formats the date as year, month and day.
<?php
$m = $_SERVER["REQUEST_METHOD"];
if ($m === "POST") {
$e = trim($_POST["email"] ?? "");
$ok = filter_var($e,
FILTER_VALIDATE_EMAIL);
echo $ok ? "Thanks." : "Check email.";
}
?>The script runs the check only when the browser sent a POST request. The trim function removes spaces from the field. The filter_var function with FILTER_VALIDATE_EMAIL returns the value when the address format passes, and false when it fails.
<?php
$pages = ["home", "about", "contact"];
foreach ($pages as $page) {
echo "<a href='/$page/'>$page</a>";
}
?>The array holds three page names. The foreach statement runs its block once for each name and stores the current name in the page variable. Each pass prints one link to the page, so a change to the array updates every link.
php -v
php -S localhost:8000 -t publicThe php command with the v option prints the installed version. The S option starts the built-in web server on port 8000 of the local machine, and the t option sets public as the document root. This command runs PHP scripts without installing Apache or another web server.
References
These sources are outside Websnoogie and were checked on 2026-10-12.
PHP
Wikipedia
The encyclopedia article on PHP. It covers the 1993 origin with Rasmus Lerdorf. It lists the releases from PHP 3 to PHP 8. It also covers licensing and the PHP Foundation. Its history section cites release notes and mailing list posts.
PHP Manual
The PHP Group (php.net)
The official PHP manual. It covers the language syntax and each built-in function. It also covers extensions, the security guide and installation. Each function page shows parameters, return values and version history.
Supported Versions
The PHP Group (php.net)
The official table of PHP support. It lists each branch with its release date. It shows the end of active support and the end of security support. It covers PHP 8.2 through PHP 8.5 and links to migration guides.
PHP Releases
The PHP Group (php.net)
The release page for PHP. It lists the newest stable release and release candidates. It also shows download links. Each entry gives its release date and links to the change log.
PHP 8 ChangeLog
The PHP Group (php.net)
The official change log for the PHP 8 branch. Each version lists its release date. It lists each fix by extension. The entries for PHP 8.5.11 list the security fix in the BCMath extension.
PHP sites or WordPress: which one fits your business
Two common setups can serve the same business, and each one suits a different owner. A site built with plain HTML and PHP needs no database. It is simple, quick to load and inexpensive to keep running. A WordPress site keeps its pages and posts in a database, so you can add a post each week without touching code. PHP is the server language that runs both kinds of site. The right choice depends on how often you plan to change the words.
Our hosting without a content management system (CMS) costs $129 a year. That plan includes free SSL, which is the encryption behind the padlock on a contact form, and it has no database. Our WordPress hosting costs $149 a year. On either plan we check the PHP version, set the server to match the code, and test the forms after the move, so a contact form still sends its message the day the site goes live.
Not sure which setup your business needs? Phone 402-813-4034 from 7 am to 10 pm, every day, and describe how often your content changes. Or order the $300 website and we will choose the setup with you. Delivery takes 3 to 5 days once we have your words and photos.
