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


当前回答

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

其他回答

我经常使用以下命令来旋转我的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服务器指定文档根目录。

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

Apache PHP MySQL phpMyAdmin

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

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

devilbox是一个现代的、高度可定制的dockerized PHP堆栈,支持完整的LAMP和MEAN,可以在所有主要平台上运行。主要目标是轻松切换和组合本地开发所需的任何版本。它支持无限数量的项目,自动为其创建vhosts和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

链接:

Github: https://github.com/cytopia/devilbox 网站:http://devilbox.org

这是一个简单的,确保本地运行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服务器

现在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

引用:

https://www.php.net/manual/en/features.commandline.webserver.php https://www.php.net/manual/en/features.commandline.options.php