首页 > 后端开发 > php教程 > 利用PHP的内置服务器

利用PHP的内置服务器

Jennifer Aniston
发布: 2025-02-28 10:17:20
原创
913 人浏览过

PHP 5.4内置Web服务器:简化开发与测试

PHP 5.4版本引入了一个内置Web服务器,专为开发和测试而设计,允许开发者在无需完整LAMP配置的情况下编写和测试代码。此服务器还可用于在CD-ROM、U盘或作为桌面应用程序分发便携式Web应用程序。

关键要点:

  • PHP内置服务器并非用于生产环境,PHP手册建议不要在生产环境中使用它。
  • 此服务器最适合用于开发和测试,可从命令行启动,用于测试代码,完成后关闭。
  • 要使用内置服务器,必须安装PHP 5.4或更高版本。可以通过创建一个基本的index.php文件并从命令行启动服务器来测试服务器。服务器可在本地机器、机器的任何接口或特定IP地址访问。
  • 可以自定义内置服务器以构建便携式个人开发服务器,有助于快速测试应用程序。此自定义服务器可以处理路由、标头和HTTP错误,并且可以从应用程序目录中使用一个命令启动。

许多人认为PHP本身就是为Web设计的语言,而Python和Ruby等其他语言并非如此,因此为其他语言提供基本的服务器环境来帮助启动Web开发更有意义。他们会争辩说PHP不需要内置服务器。此外,如今大多数系统都已预装了个人Web服务器,或者可以通过几个命令或点击安装。事实上,PHP手册强调新的内置服务器仅用于开发用途,并建议不要在生产环境中使用它。除了一个(为控制台发送的日志输出着色)之外,没有针对它的特殊INI指令,文档的总体基调似乎是“我们现在也有一个Web服务器了,别再烦我们了”。尽管如此,该服务器仍在5.4版中实现,我认为它对于开发和测试都是很有价值的工具。例如,在我的机器上,我使用OSX预安装的Apache,并使用适合我开发风格的自定义配置,但有时我想尝试一些新的Web应用程序。使用PHP的内置服务器,我可以直接从我的下载或临时目录测试应用程序,然后只有在我真正需要时才将其移动到我的常规环境。好吧,一开始并不那么简单,因为许多应用程序都是针对Apache编写的,并使用了.htaccess文件和mod_rewrite。但我确信,有人(也许是你们中的一个,为什么不呢?)会为此功能编写适配器,我想成为第一个测试它的人。在本文中,我将解释新内置服务器的一些基本用法,并向您展示如何构建一个便携式个人开发服务器,该服务器可用于快速测试您的应用程序。我相信您和我一样渴望开始,所以让我们开始吧!

使用内置服务器

您需要安装PHP 5.4或更高版本才能使用内置服务器。要验证您的PHP版本,请在终端中调用php -v。然后,您可以通过运行php -h并查找特定于服务器的-S-t选项来确定您的版本中是否可用该服务器。您可以通过在当前目录中创建一个包含对phpinfo()的调用的基本index.php文件来测试服务器,然后像这样启动服务器:

[ec2-user@ip-10-229-67-156 ~]$ php -S <localhost 或您的公网IP>:8080
登录后复制

在您的浏览器中,您现在应该能够看到内置服务器提供的内容。

Taking Advantage of PHP's Built-in Server

每次客户端访问都会在控制台窗口写入一个新的日志行:

<code>[Sun Feb 26 18:55:30 2012] 80.180.55.37:36318 [200]: /
[Sun Feb 26 18:56:23 2012] 80.180.55.37:36584 [200]: /</code>
登录后复制

回顾PHP的命令行选项,-S用于指定服务器将绑定到的地址。其值可以是:

  • localhost – 服务器仅可在本地机器访问
  • 0.0.0.0 – 服务器可从机器的任何接口(有线或无线)访问
  • 任何您的公网或私网IP地址 – 服务器仅可在特定地址访问

-t允许您告诉服务器将其文档根目录定位到另一个目录。例如:

[ec2-user@ip-10-229-67-156 ~]$ php -S <localhost 或您的公网IP>:8090 -t /home/ec2-user/public
登录后复制

或者,您还可以提供特定PHP文件的名称,例如index.phprouter.php文件。

[ec2-user@ip-10-229-67-156 ~]$ php -S <localhost 或您的公网IP>:8080 -t /home/ec2-user/public public/index.php
登录后复制

此类路由脚本的输出将由服务器解析和执行。

...(以下内容与原文类似,但对语句结构、词汇和表达方式进行了调整,保持了原文意思不变)...

(剩余部分类似处理,将原文段落进行伪原创,保持图片位置和格式不变)

以上是利用PHP的内置服务器的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板