209

我正在尝试构建一个 PHP 站点,并且我想测试我的 PHP 文件而不将它们上传到我的主机。基本上在我上传它们之前在我自己的机器上测试它们。我怎么做?

4

13 回答 13

491

如今,PHP 5.4 及更高版本都有一个内置的 Web 服务器

您只需从终端运行命令:

cd path/to/your/app
php -S 127.0.0.1:8000

然后在您的浏览器中打开http://127.0.0.1:8000并繁荣,您的系统应该启动并运行。(必须有一个 index.php 或 index.html 文件才能工作。)

您还可以添加一个简单的路由器

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else { 
    require_once('resolver.php');
}
?>

然后运行命令

php -S 127.0.0.1:8000 router.php

参考:

于 2014-02-19T06:10:27.457 回答
66

安装并运行 XAMPP: http: //www.apachefriends.org/en/xampp.html

于 2009-11-05T02:52:41.123 回答
46

这是一种在本地运行 php 服务器的简单、可靠的方法:

php -S 0.0.0.0:<PORT_NUMBER>

其中 PORT_NUMBER 是从 1024 到 49151 的整数

例子: php -S 0.0.0.0:8000

笔记:

  1. 如果你使用localhost而不是0.0.0.0你可能会遇到连接被拒绝的错误。

  2. 如果想让 Web 服务器可以访问任何界面,请使用0.0.0.0.

  3. 如果 URI 请求未指定文件,则返回给定目录中的 index.php 或 index.html。

给定以下文件(router.php)

<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
    return false;    // serve the requested resource as-is.
} else { 
    echo "<p>Welcome to PHP</p>";
}
?>

运行这个...

php -S 0.0.0.0:8000 router.php

...并在浏览器中导航到http://localhost:8000/,将显示以下内容:

Welcome to PHP

参考:

内置网络服务器

于 2016-07-25T14:32:36.910 回答
23

我经常使用以下命令来旋转我的 PHP Laravel 框架:

$ php artisan serve --port=8080
or
$ php -S localhost:8080 -t public/

在上面的命令中: - Artisan是 Laravel 附带的命令行界面,它使用serve来调用内置的 php 服务器

使用内置 Web 服务器运行。

 php -S <addr>:<port> -T

这里,
-S :切换到使用内置 Web 服务器运行。
-T :切换为内置 Web 服务器指定文档根目录。

于 2018-08-11T14:14:47.053 回答
9

我使用WAMP。一个简单的安装向导,为 Apache 和 PHP 预配置的大量模块,并且易于打开和关闭以匹配您的远程配置。

于 2009-11-05T02:55:56.343 回答
9

如果您想要一个适用于任何操作系统的通用本地开发堆栈,您可以从不同的 PHP、MySQL 和 Web 服务器版本中进行选择,并且不怕使用 Docker,那么您可以选择devilbox

Devilbox 是一个现代且高度可定制的 dockerized PHP 堆栈,支持完整的 LAMP 和 MEAN,并在所有主要平台上运行。主要目标是轻松切换和组合本地开发所需的任何版本。它支持自动创建虚拟主机和 DNS 记录的无限数量的项目。电子邮件包罗万象和流行的开发工具也将为您服务。无需配置,因为所有内容都已预先设置为大量虚拟主机。

启动并运行它非常简单:

# Get the devilbox
$ git clone https://github.com/cytopia/devilbox
$ cd devilbox

# Create docker-compose environment file
$ cp env-example .env

# Edit your configuration
$ vim .env

# Start all containers
$ docker-compose up

魔盒

链接:

于 2017-11-18T10:25:27.267 回答
6

安装XAMPP。如果您运行的是 MS Windows,WAMP也是一种选择。

于 2009-11-05T02:52:46.940 回答
5

MAMP 如果您使用的是 MAC MAMP

于 2009-11-05T02:54:37.767 回答
2

如果您使用的是 Windows,那么WPN-XM 服务器堆栈可能是一个合适的替代方案。

于 2013-11-27T23:56:34.963 回答
2

AppServ是一个在 Windows 中运行的小程序:

  • 阿帕奇
  • PHP
  • MySQL
  • phpMyAdmin

它还将为您提供 Apache 的启动和停止按钮。我觉得这非常有用。

于 2017-12-06T19:26:47.047 回答
1

使用Apache Friends XAMPP。它将设置 Apache HTTP 服务器、PHP 5 和 MySQL 5(据我所知,可能不止这些)。您不需要知道如何配置 apache(或任何模块)来使用它。

您将拥有一个 Apache 将提供服务的 htdocs 目录(可通过http://localhost/访问),并且应该能够将您的 PHP 文件放在那里。在我的安装中,它位于 C:\xampp\htdocs。

于 2009-11-05T02:53:15.477 回答
1

如果您的本地计算机具有正确的软件:支持 PHP 的 Web 服务器,那么您没有理由不能按照您的描述进行操作。

我现在在 Windows XP 机器上使用 XAMPP,并且(在家)使用 Kubuntu 和 LAMP 堆栈。

于 2009-11-05T02:53:33.073 回答
1

另一种选择是Zend Server 社区版

于 2009-11-05T03:00:05.837 回答