Innovate faster and cut risk with PHP experts from Zend Services.
Beginning to advanced PHP classes to learn and earn global certification.
Help me choose >
Submit support requests and browse self-service resources.
PHP servers act as the foundation of many PHP applications, and range from simple servers to all-in-one PHP development platforms. In this blog, we look at PHP application servers, how they work, how they're different from PHP development frameworks and web servers, discuss how to find the right PHP app server, and answer frequently asked questions for teams just getting started with PHP.
To understand what a PHP application server is, it’s helpful to first understand PHP application basics. Let’s say I’m a developer who needs to create and manage a website. One of the first things I need to do is decide which programming language to use. I’ll share why I choose PHP as my go-to web app development language.
A PHP server — which is also called a PHP application server — provides a platform for running PHP applications.
Some PHP application servers are as basic as that. Others provide additional functionality such as clustering services, debuggers, and automated tools for application monitoring and web-server configuration, which can save a lot of time and reduce the need for numerous third-party or open source technologies.
If you're wondering what PHP is, get a quick overview in this blog.
PHP Frameworks — such as Laminas, Symfony, Laravel, and CakePHP — can dramatically accelerate development and improve code quality by providing pre-built modules, so you can:
Because most websites, web services, and business applications need to be available around the clock, it’s critical to choose a PHP application server that is highly reliable and easy to scale. Flexibility is also critical because PHP servers need to closely interact with web servers and databases.
PHP application servers that provide built-in tools for developers are important to consider because they can:
Zend Server provides a proven PHP application server platform that includes:
Want to see all the tools you get with Zend Server? Try it for free for 30 days!START MY TRIAL
For teams new to PHP, there are some basic questions that need answered before they can choose the right technologies. See some of those questions, and answers, below.
Once I write my website application in PHP, I need a PHP (application) server to deploy it on. Unlike “client-side” applications that run on client devices such as desktops and mobile phones, PHP applications run on servers. So, PHP is server side.
PHP servers are not web servers, although many people use the terms interchangeably. As noted earlier, PHP (application) servers, such as Zend Server, run applications written in the PHP scripting language.
Web servers, such as Apache and Nginx, manage requests from browsers to do things like:
To complete any of these requests from a browser, the web server will connect with the PHP (application) server, call the PHP script that contains the instructions it needs to complete the request, and then use the PHP runtime to fulfill the request.
To complete any request to a PHP application, the web server that's connected to your PHP server uses the PHP runtime to interpret, analyze, translate, and execute the code needed to complete the request.
Because the technology has evolved over time, there are many versions. However, you need to use the PHP runtime release that corresponds with the release of PHP your application is running. The current version is PHP 7.4.
Although PHP runtime is the name that people use to refer to the technology, the official, “under the hood” name is Zend Engine. That’s because the founders of PHP also created the Zend Engine and the company that managed it, which was initially called Zend Technologies.
Short answer, yes, or you need access to somebody else's server (cloud deployment being a prime example).
The longer answer is that you need a machine that can run a system daemon/language runtime. This can be your personal development machine, but if you're running in production, you need a server. Beyond that, you will likely need a web server system process running as well (e.g., Apache or nginx or IIS).
There are exceptions to that rule, including if you're running only CLI commands via PHP, or if you're using an async runtime such as Swoole, OpenSwoole, ReactPHP, or AMPHP, which are capable of acting as web servers themselves.
IBM Champion | Former - Senior Solutions Consultant, Zend, Perforce Software
As an IBM champion, Mr. Earley has been recognized as a leader in the IBM i community and offers more than 20 years of experience helping customers to implement solutions on the platform. His expertise includes using PHP, MariaDB, Docker, and Chef for creating modern enterprise solutions that run on IBM i, as well as PowerVC for cloud deployments and virtualization management. Mr. Earley is a frequent speaker at global technology conferences, and he has authored numerous articles on Linux, PHP, virtualization, systems management, and open source solutions and concepts.