Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
Raspberry Pi Server php no funciona desde fuera de la red local

He estado haciendo una pequeña página en mi servidor para mostrar algunos álbumes de fotos. Esto está en un servidor nginx en una raspberry pi 4. Cuando trato de acceder a la página desde mi computadora portátil o teléfono cuando están en wifi, todo se carga correctamente. Sin embargo, cuando uso mi teléfono con LTE, por ejemplo, las solicitudes de php no funcionan. Verifiqué con mi computadora portátil usando mi punto de acceso inalámbrico y tuve el mismo problema. Nunca obtengo el código "200" que mi navegador está esperando. A mi tampoco me da error. Es como si la solicitud http desapareciera. Tengo otras páginas en este mismo servidor donde el php funciona correctamente, una de las cuales es casi exactamente igual a este código. El php que estoy tratando de usar es uno que devuelve los nombres de archivos y álbumes como una cadena larga. La salida esperada sería:

Hermanos|Wyoming|Utah|Esquí|

Todo esto funciona cuando se accede desde mi red local. En el pasado, he usado archivos php mucho más elaborados para acceder a imágenes de cámaras de seguridad y también enviar scripts de shell para activar y desactivar un relé. Estos funcionaron desde cualquier parte del mundo, no solo desde mi red. Sé muy poco sobre estas cosas, así que espero que me esté perdiendo algo obvio que un experto pueda reconocer de inmediato. :) Incluiré mi código a continuación.

obtener archivos.php

 <?php function clean_scandir($dir){ return array_values(array_diff(scandir($dir),array('.','..'))); } $directory = $_GET['dir']; $files = clean_scandir("/var/www/html/" . $directory); foreach($files as $file){ $fileStr .= $file . "|"; } echo $fileStr; ?>

Y el javascript que está tratando de usar este php:

 function getAlbums(){ var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function(){ if(this.readyState == 4 && this.status == 200){ console.log("return packet = " + this.response); var albumArray = this.response.split("|"); albumArray.pop(); //remove empty last element for (var i = 0; i < albumArray.length; i++){ console.log("album " + i + " = " + albumArray[i]); } getThumbnail(albumArray); setTimeout(() => { populateAlbums(albumArray); //waits 1 sec for thumbnail requests to finish before loading thumbnails }, 1000); } } var urlString = "getfiles.php?dir=" + "photos/"; xmlhttp.open("GET", urlString, true); xmlhttp.send(); }

El código nunca llega a la consola. Los registros que están dentro de la gran declaración 'if', asumo porque el estado nunca llega a 200. No obtengo ningún otro número como un código 500. Simplemente permanece en blanco.

He intentado modificar lentamente el código php. Si el archivo es simplemente:

 echo "php successful";

entonces funciona Pero por alguna razón, el código completo está causando problemas. A veces, los problemas tampoco actúan de la misma manera cada vez.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda