如何在 Create React APP 中为内置 PHP 服务器设置代理?

How to setup proxy in Create React APP for builtin PHP Server?

我只想 运行 php 在 Create React App 中内置服务器。

我试了很多东西都没有用。

我已经尝试将 "proxy" 添加到 package.json 并手动添加代理:

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api/',
    createProxyMiddleware({
      target: 'http://localhost:4000/',
      changeOrigin: true,
    })
  );
};

我 运行 我的服务器有:

php -S localhost:4000 -t ./api

Api 目录有 index.php 个文件。而且我从未在控制台中看到该请求。当我打开向 /api 发送请求的应用程序时,我看到的是:

Error occured while trying to proxy: localhost:3000/api

和 504(网关超时)。

当我打开 http://localhost:4000/ 时一切正常。 (显示错误的是 JSON-RPC 服务,因为没有 POST 数据)。

GitHub issue 上找到了解决方案:

您需要使用 IP 地址才能使代理工作:

php -S 0.0.0.0:4000 -t ./api

使用 127.0.0.1:4000 作为地址时也可以。