我试图建立一个PHP网站,我想测试我的PHP文件,而不是上传到我的主机。基本上是在上传之前先在我自己的机器上测试。我怎么做呢?


当前回答

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

你会有一个Apache提供的htdocs目录(可以通过http://localhost/访问),应该可以把你的PHP文件放在那里。在我的安装中,它位于C:\xampp\htdocs。

其他回答

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

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

在上述命令中: Artisan是Laravel中包含的命令行界面,它使用服务调用内置的php服务器

使用内置的web服务器运行。

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

在这里, -S:切换到运行内置web服务器。 -T:开关 为内置web服务器指定文档根目录。

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

如果你有一台本地机器,有正确的软件:支持PHP的web服务器,没有理由你不能像你描述的那样做。

目前我正在一台Windows XP机器上使用XAMPP,(在家里)使用Kubuntu和LAMP堆栈。

这是一个简单的,确保本地运行php服务器的方法:

php -S 0.0.0.0:<PORT_NUMBER>

PORT_NUMBER为1024 ~ 49151的整数

例如:php -S 0.0.0.0:8000

注:

如果你使用localhost而不是0.0.0.0,你可能会碰到一个 拒绝连接错误。 如果想让任何接口都可以访问web服务器,请使用0.0.0.0。 如果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

参考:

内置web服务器

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

你会有一个Apache提供的htdocs目录(可以通过http://localhost/访问),应该可以把你的PHP文件放在那里。在我的安装中,它位于C:\xampp\htdocs。