es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo configurar un proxy en Create React APP para el servidor PHP integrado?

Solo quiero ejecutar el servidor integrado de php en Create React App.

He intentado varias cosas y nada está funcionando.

He intentado agregar “proxy” al package.json también agregando manualmente el proxy:

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

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

Ejecuto mi servidor con:

php -S localhost:4000 -t ./api

El directorio Api tiene un archivo index.php. Y nunca veo la solicitud en la consola. Cuando abro la aplicación que envía la solicitud a /api, todo lo que veo es:

Se produjo un error al intentar hacer el proxy: localhost:3000/api

y 504 (Tiempo de espera de la puerta de enlace).

Cuando abro http://localhost:4000/, todo funciona bien. (es un servicio JSON-RPC que muestra un error porque no hay datos POST).

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Ejecutando el Servidor Incorporado de PHP en Create React App

    Para ejecutar un servidor incorporado de PHP en Create React App, primero debes crear un nuevo archivo llamado setupProxy.js en la carpeta src de tu aplicación de React. Este archivo se utilizará para configurar un proxy para tu servidor de PHP.

    En este archivo, debes importar el módulo http-proxy-middleware y configurar un middleware para redirigir las solicitudes a tu servidor de PHP. Aquí tienes un ejemplo de código del archivo setupProxy.js:

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

    En el código anterior, estamos utilizando la función createProxyMiddleware para configurar un middleware que redirecciona las solicitudes enviadas al camino /api a nuestro servidor de PHP que se ejecuta en localhost:4000. La opción changeOrigin asegura que se cambie el encabezado de origen en la solicitud redirigida a la URL de destino.

    Una vez que hayas configurado el proxy, puedes ejecutar tu servidor de PHP utilizando el siguiente comando:

    php -S localhost:4000 -t ./api
    

    Esto iniciará tu servidor de PHP en el puerto 4000, sirviendo los archivos ubicados en el directorio api. Ahora, cuando hagas una solicitud a /api en tu aplicación de React, esta será redirigida a tu servidor de PHP y deberías ver la respuesta del servidor.

    Si aún tienes problemas con la solicitud, asegúrate de que tu servidor de PHP tenga acceso a los archivos que necesita y que no haya errores en tu código de PHP.

    Espero que esto te ayude a ejecutar tu servidor incorporado de PHP en Create React App.

Comments are closed.