PHP 服务器在本地计算机上吗?
我正在尝试构建一个 PHP 网站,并且想要测试我的 PHP 文件而不将它们上传到我的主机。基本上在上传之前在我自己的机器上测试它们。我该怎么做?
I'm trying to build a PHP site and I'm wanting to test my PHP files without uploading them to my host. Basically testing them on my own machine before I upload them. How do I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
PHP 5.4 及更高版本现在有一个内置 Web 服务器 。
您只需从终端运行命令:
然后在浏览器中转到
http://127.0.0.1:8000
然后,您的系统应该启动并运行了。 (必须有一个index.php或index.html文件才能工作。)
您还可以添加一个简单的路由器
然后运行命令
参考:
PHP 5.4 and later have a built-in web server these days.
You simply run the command from the terminal:
Then in your browser go to
http://127.0.0.1:8000
and boom, your system should be up and running. (There must be an index.php or index.html file for this to work.)You could also add a simple Router
And then run the command
References:
安装并运行 XAMPP:
更新了下载链接 https://www.apachefriends.org/download.html
Install and run XAMPP:
Updated link for download https://www.apachefriends.org/download.html
这是在本地运行 php 服务器的一种简单、可靠的方法:
其中 PORT_NUMBER 是从 1024 到 49151 的整数
示例:
php -S 0.0.0.0:8000
注意:
如果您使用 < code>localhost 而不是
0.0.0.0
您可能会遇到连接被拒绝错误。
如果想让Web服务器可以被任何接口访问,请使用
0.0.0.0
。如果 URI 请求未指定
文件,则给定目录中的index.php或index.html是
返回。
给定以下文件 (router.php)
运行此......
并在浏览器中导航到 http://localhost:8000 / 将显示以下内容:
参考:
内置网络服务器
This is a simple, sure fire way to run your php server locally:
Where PORT_NUMBER is an integer from 1024 to 49151
Example:
php -S 0.0.0.0:8000
Notes:
If you use
localhost
rather than0.0.0.0
you may hit aconnection refused error.
If want to make the web server accessible to any interface, use
0.0.0.0
.If a URI request does not specify a
file, then either index.php or index.html in the given directory are
returned.
Given the following file (router.php)
Run this ...
... and navigate in your browser to http://localhost:8000/ and the following will be displayed:
Reference:
Built-in web server
我经常使用以下命令来旋转我的 PHP Laravel 框架:
在上面的命令中:
- Artisan 是 Laravel 附带的命令行界面,它使用 serve 调用内置 php 服务器
来使用内置 Web 服务器运行。
I often use following command to spin my PHP Laravel framework :
In above command :
- Artisan is command-line interface included with Laravel which use serve to call built in php server
To Run with built-in web server.
如果您想要一个适用于任何操作系统的通用本地开发堆栈,可以从不同的 PHP、MySQL 和 Web 服务器版本中进行选择,并且不害怕使用 Docker,那么您可以选择 devilbox。
启动并运行非常简单:
链接:
If you want an all-purpose local development stack for any operating system where you can choose from different PHP, MySQL and Web server versions and are also not afraid of using Docker, you could go for the devilbox.
Getting it up and running is pretty straight-forward:
Links:
我使用 WAMP。一个简单的安装向导,大量用于 Apache 和 PHP 的预配置模块,并且易于打开和关闭以匹配您的远程配置。
I use WAMP. One easy install wizard, tons of modules to for Apache and PHP preconfigured and easy to turn on and off to match your remote config.
安装XAMPP。如果您运行的是 MS Windows,WAMP 也是一个选项。
Install XAMPP. If you're running MS Windows, WAMP is also an option.
MAMP(如果您使用的是 MAC)MAMP
MAMP if you are on a MAC MAMP
AppServ 是 Windows 中运行的一个小程序:
它还会给你一个启动和 Apache 的停止按钮。我觉得这非常有用。
AppServ is a small program in Windows to run:
It will also give you a startup and stop button for Apache. Which I find very useful.
如果您有一台带有正确软件的本地计算机:支持 PHP 的 Web 服务器,那么您没有理由不能按照您所描述的方式进行操作。
我目前正在 Windows XP 计算机上使用 XAMPP 进行此操作,并且(在家里)使用 Kubuntu 和 LAMP 堆栈进行此操作。
If you have a local machine with the right software: web server with support for PHP, there's no reason why you can't do as you describe.
I'm doing it at the moment with XAMPP on a Windows XP machine, and (at home) with Kubuntu and a LAMP stack.
另一个选择是 Zend Server 社区版。
Another option is the Zend Server Community Edition.
如果您使用的是 Windows,那么 WPN-XM 服务器堆栈 可能是一个合适的替代方案。
If you are using Windows, then the WPN-XM Server Stack might be a suitable alternative.
使用 Apache Friends XAMPP。它将设置 Apache HTTP 服务器、PHP 5 和 MySQL 5(据我所知,可能还有更多)。您不需要知道如何配置 apache(或任何模块)来使用它。
您将拥有 Apache 将提供服务的 htdocs 目录(可通过 http://localhost/ 访问),并且应该能够将您的PHP 文件在那里。在我的安装中,它位于 C:\xampp\htdocs。
Use Apache Friends XAMPP. It will set up Apache HTTP server, PHP 5 and MySQL 5 (as far as I know, there's probably some more than that). You don't need to know how to configure apache (or any of the modules) to use it.
You will have an htdocs directory which Apache will serve (accessible by http://localhost/) and should be able to put your PHP files there. With my installation, it is at C:\xampp\htdocs.
您也可以使用代码在 php 中创建自己的服务器!
$file = "src/browser.php";// 该文件在服务器启动时随服务器打开!
运行此代码,然后打开浏览器访问 localhost:443 或您选择的任何端口
you can create your own server in php using code as well!
$file = "src/browser.php";// this file is open with server when it starts!
run this code then open browser to localhost:443 or whichever port you chose
即使您的计算机上已有服务器,执行此操作的一种简洁方法是使用 Docker。通过 docker run 从任何终端使用一行运行:
您现在将有一个名为 php 的正在运行的容器,在您的本地主机端口 80 上服务请求。您应该能够看到在任何浏览器中使用 URL http://127.0.0.1
注释:
您可以通过在主机上的终端中运行
docker ps
来确认容器是否处于活动状态。为了在容器终止/删除后保留您的应用/代码修改,Web 根目录绑定到您运行 docker run 命令的文件夹。要更改它,请在中指定本地文件夹的路径
--mount source='[/local/path]'
参数。 注意:由于文件夹绑定到容器,因此您在容器中所做的更改也会在主机文件夹中进行。可以使用以下命令查看日志命令(
--follow
是可选的,ctrl+c 退出):容器中的 Web 根文件夹是
/应用程序。如果您不需要保存任何内容并且不想在 docker run 命令中指定绑定挂载,这可能会很有帮助。
使用
-p [主机端口]:80
参数指定端口。您可能必须显式指定-p 80:80
才能从 Web 浏览器连接到容器(至少在 Windows 10 上)。要访问容器的 bash 终端,请从主机运行此命令(输入
exit
返回主机):您可以像在本机 Debian 上一样在容器的 bash 终端中安装软件包/Ubuntu 盒子(例如
apt install -y nano
)。Composer 已安装(从容器的终端运行
composer -v
进行检查)要启动其他容器,请使用
--name=[new_name 指定不同的主机端口和容器名称]
和-p [主机端口]:80
参数。如果您需要数据库或其他服务器,请使用 MySQL 或 MariaDB 或任何您需要的 docker 映像执行相同的操作。只需记住将数据文件夹绑定到主机文件夹,这样如果您不小心删除了 docker 映像,就不会丢失它。
如何安装 Docker:
Debian/Ubuntu 作为 root(或在每个命令之前添加
sudo
):Windows 10+(在 10 上测试,应该适用于 >10):
使用 Chocolatey,Windows 命令行包管理器。如果你坚持的话,Chocolatey 也有一个 GUI。安装后,运行:
Mac、Chromebook 等:
你孤身一人。但我们相信你。
A clean way to do this, even if you have existing servers on your machine, is to use Docker. Run from any terminal via
docker run
with a single line:You will now have a running container named php serving requests on your localhost, port 80. You should be able to see your php scripts in any browser using the url http://127.0.0.1
Notes:
If you don't have Docker installed, instructions for Debian/Ubuntu and Windows 10+ are at the end. It can be installed on Windows 7 but it's quite annoying and not worth it. For windows 7, if you must, I'd just install Uniserver or XAMPP or something like that.
You can confirm that the container is live by running
docker ps
in a terminal on the host machine.In order to keep your app/code modifications after the container is terminated/removed, the web root is bound to the folder where you ran the
docker run
command. To change it, specify the path to your local folder in the--mount source='[/local/path]'
parameter. Note: Because the folder is bound to the container, changes you make in the container will also be made in the host folder.Logs can be viewed using the following command (
--follow
is optional, ctrl+c to exit):The web root folder in the container is
/app
. This may be helpful if you don't need to save anything and don't feel like specifying a bind mount in thedocker run
command.The port is specified using the
-p [host port]:80
parameters. You may have to explicitly specify-p 80:80
in order to be able to connect to the container from a web browser (at least on Windows 10).To access the container's bash terminal run this from the host machine (type
exit
to return to host):You can install packages in the container's bash terminal the same way that you would on a native Debian/Ubuntu box (e.g.
apt install -y nano
).Composer is already installed (run
composer -v
from container's terminal to inspect)To launch an additional container, specify a different host port and container name using the
--name=[new_name]
and-p [host port]:80
parameters.If you need a database or other server, do the same thing with a docker image for MySQL or MariaDB or whatever you need. Just remember to bind the data folder to a host folder so you don't lose it if you accidentally delete your docker image(s).
How to install Docker:
Debian/Ubuntu as root (or add
sudo
before each of these commands):Windows 10+ (tested on 10, should work on >10):
Use Chocolatey, a command-line package manager for Windows. Chocolatey also has a gui if you insist. Once installed, run:
Mac, Chromebook, etc:
You are alone. But we believe in you.
可以使用 PHP 内置服务器。确保在设置中放置 php.exe 路径
然后只需选择此选项,它将在您的浏览器中运行。
its possible using the PHP built-in server. Make sure to place php.exe path in settings
then just select this option and it will run in ur browser.