php -S localhost:8000和httpd -k start之间的区别

时间:2018-11-15 10:36:31

标签: php apache httpd.conf

我只是要设置一台新计算机,因此我安装了Apache24,PHP和MySQL。

我使用不同的教程,我可以从php -S localhost:8000启动一个“服务器”,也可以从httpd -k start启动它。

在我的.conf

# If your host doesn't have a registered DNS name, enter its IP address here.
# ServerName localhost:80

# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80 Listen 127.0.0.1:1000

我不明白有什么区别? 我可以访问127.0.0.1:1000,并且看到目录htdocs,但是即使我不启动httpd,它也可以正常工作。

之间的关系有点混乱,什么是服务器而不是服务器为什么某些端口可以工作而其他端口不能工作。 如果我用netstat检查,它只会显示:1000个正在监听。

最后,我想在“ symfony”服务器上尝试之前,先用“简单的” php服务器测试一些东西。 提前,谢谢您的帮助。 :D Axel

2 个答案:

答案 0 :(得分:1)

php -S启动built in PHP web server

httpd使用PHP启动Apache web server来处理PHP文件。

如果您只想在本地测试一些功能,则内置的PHP Web服务器可能很好-它重量轻且易于旋转和关闭。

如果要使用完整的Web服务器,则应使用Apache。由于未针对您的环境,您的PHP版本或您的文档根目录正确配置,因此它可能无法正常工作。在线上有很多资源可以根据您的操作系统在本地设置Apache。

答案 1 :(得分:1)

https://secure.php.net/manual/en/features.commandline.webserver.php

php -S localhost:8000启动PHP内置的Web服务器(功能不多)。您的站点将位于http://localhost:8000http://127.0.0.1:8000上。文件将从您执行该文件的目录中提供。

https://httpd.apache.org/

httpd -k start启动Apache Web服务器。您的站点(如果未进行其他配置)将在http://localhosthttp://127.0.0.1上可用。如果要使用默认目录以外的目录,可以/必须配置。