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.

¿Mod_userdir está impidiendo solicitudes http localhost?

Estoy usando CPanel en un servidor CentOS 8. Algunos de mis APIs de php necesitan hacer una solicitud http a otra API de php en el mismo servidor a través de localhost. Ya he intentado realizar la llamada usando:

$opts = array('http' => array('method' => 'GET', 'header' => 'Content-type: application/x-www-form-urlencoded'));
$file = file_get_contents('http://127.0.0.1/', false, stream_context_create($opts));

Pero obtengo un error archivo no encontrado. El punto es que mod_userdir está desactivado en CPanel, y cuando intento activarlo, dice: Se detectó el uso de mod_ruid2. Usar ambos mod_userdir y mod_ruid2 no es una configuración compatible. ¿Es el problema porque mod_userdir está desactivado? Si es así, ¿cómo puedo activarlo?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como has mencionado, el error que está recibiendo podría ser debido a que mod_userdir está desactivado en el CPanel. Sin embargo, activarlo podría no ser una solución ya que entra en conflicto con el módulo mod_ruid2.

    Aquí hay algunas sugerencias que podrían ayudar a resolver su problema:

    1. En lugar de llamar a la API a través de localhost, intente usar la dirección IP real del servidor. Por ejemplo:
      $file = file_get_contents("http://<dirección ip="" del="" servidor="">/<ruta hacia="" el="" archivo="" de="" la="" api="" desde="" public_html="">", false, stream_context_create($opts));
      
    2. Puede habilitar mod_userdir, pero tendrá que deshabilitar mod_ruid2. Puede pedir a su proveedor de alojamiento que desactive mod_ruid2 y habilite mod_userdir para usted.
    3. En lugar de usar file_get_contents, puede intentar usar cURL para hacer la solicitud HTTP. Aquí hay un ejemplo:

      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL, "http://<dirección ip="" del="" servidor="">/<ruta hacia="" el="" archivo="" de="" la="" api="" desde="" public_html="">");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      $response = curl_exec($ch);
      curl_close($ch);
      

    Estas sugerencias deberían ayudarlo a resolver su problema.</dirección></dirección>

Comments are closed.