【问题标题】:Does PHP has its own Web Server? [duplicate]PHP 有自己的 Web 服务器吗? [复制]
【发布时间】:2018-09-28 05:15:57
【问题描述】:

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

php bin/console server:start
[OK] Server listening on http://127.0.0.1:8000 

所以对 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

备选方案 2:

dpkg --get-selections | grep apache
libapache-pom-java              install

备选方案 3:

apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.4.18-2ubuntu3.5
  Version table:

备选方案 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)

备选方案 5:

sudo service apache2 status
● apache2.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

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

并且PHP 有自己的集成网络服务器 还是什么?

【问题讨论】:

    标签: php apache symfony http apache2


    【解决方案1】:

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

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

    【讨论】:

    • 答案是正确的。为了使其更有用和更完整,我建议添加用户实际上正在执行 Symfony 内部 Web 服务器,该服务器构建在 PHP 内部 Web 服务器之上(参见 symfony.com/doc/3.4/setup/built_in_web_server.html)。
    • 这不是内置服务器。这只是 PHP 上的服务器实现,与工作项目无关。它不会在自己启动时加载应用程序本身。每次请求到达时,它都会从磁盘读取并编译它。因此,您可以更改 PHP 代码,它会即时更新。
    猜你喜欢
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 2019-07-08
    相关资源
    最近更新 更多