PHP有自己的Web服务器吗?

Med*_*ali 2 php apache http apache2 symfony

我正在我的机器Ubuntu 16上进行Symfony 3项目,我还没有安装XAMPP或LAMP,我启动了

php bin/console server:start
[OK] Server listening on http://127.0.0.1:8000 
Run Code Online (Sandbox Code Playgroud)

所以对localhost:8000的HTTP请求正确响应,但我问这是否意味着自动在我的机器上安装了apache?

我看到很多替代方法来检查是否安装了apache,这是系统响应:

备选方案1:

apache2 -v 
The program 'apache2' is currently not installed. You can install it by typing:
sudo apt install apache2-bin
Run Code Online (Sandbox Code Playgroud)

备选方案2:

dpkg --get-selections | grep apache
libapache-pom-java              install
Run Code Online (Sandbox Code Playgroud)

备选方案3:

apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.4.18-2ubuntu3.5
  Version table:
Run Code Online (Sandbox Code Playgroud)

替代方案4:

//check who is listening on localhost:8000
lsof -i :8000
COMMAND  PID          USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
php7.0  5443 karimengineer   11u  IPv4  89313      0t0  TCP localhost:8000 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

替代方案5:

sudo service apache2 status
? apache2.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
Run Code Online (Sandbox Code Playgroud)

所以我问系统是如何监听localhost的?

PHP是否有自己的集成Web服务器还是什么?

Iwa*_*aya 6

是的,PHP从v5.4开始就有一个内置服务器.但是你应该只将它用于开发和测试,而不是用于生产.

更多信息:http://php.net/manual/en/features.commandline.webserver.php