我试图建立一个PHP网站,我想测试我的PHP文件,而不是上传到我的主机。基本上是在上传之前先在我自己的机器上测试。我怎么做呢?
当前回答
现在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
其他回答
如果你有一台本地机器,有正确的软件:支持PHP的web服务器,没有理由你不能像你描述的那样做。
目前我正在一台Windows XP机器上使用XAMPP,(在家里)使用Kubuntu和LAMP堆栈。
我经常使用以下命令来旋转我的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服务器指定文档根目录。
现在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
安装XAMPP。如果你用的是MS Windows, WAMP也是一种选择。
如果你在MAC MAMP上
推荐文章
- 在PHP单元测试执行期间,如何在CLI中输出?
- 在PHP中使用heredoc的优势是什么?
- PHP中的echo, print和print_r有什么区别?
- 如何将XML转换成PHP数组?
- 如何将对象转换为数组?
- 从IP地址获取位置
- 获取数组值的键名
- HTTPS和SSL3_GET_SERVER_CERTIFICATE:证书验证失败,CA is OK
- PHP -获取bool值,当为false时返回false
- 在foreach中通过引用传递
- 如何触发命令行PHP脚本的XDebug分析器?
- 如何找出如果你使用HTTPS没有$_SERVER['HTTPS']
- 更好的方法检查变量为null或空字符串?
- 当使用Composer的开发/生产开关时,如何正确部署?
- 自动删除Laravel (Eloquent ORM)中的相关行