BAD GATEWAY - dlaczego?

0

witam, od dłuższego czasu mam problemy z BAD GATEWAY lub NOT FOUND. za kazdym razem jak mam duzo ifów wywala to! dlaczego?

przykładowy mój kod.

<?PHP
function Houses($Connect_Server){
	$path = "/xxx/data/houses"; 
	$folder = @opendir($path); 
	
	$trainerhouse['City 3'] = '2';
	$trainerhouse['City 4'] = '2';
	$trainerhouse['City 7'] = '4';
	$trainerhouse['City 8'] = '22';
	$trainerhouse['City 9'] = '2';
	$trainerhouse['City 21'] = '2';
	$trainerhouse['City 22'] = '3';
	$trainerhouse['City 29'] = '17';

	if($folder === FALSE) {
		echo "<b><font color=white>Niepoprawna ¶cieżka do katalogów.</b></font>";
	}else{
		while($filename = readdir($folder)) {
			if($filename == "." || $filename == ".."){ 
				continue; 
			}
			$temp = explode(".", $filename); 
		
			if($temp[1] == "xml") { 
				$name = $temp[0]; 
				$plik = "/xxx/data/houses/$name.xml"; 
				$file = fopen($plik, "r"); 
				$file = fread($file, 200); 
				$exp1 = explode('<owner name="', $file); 
				$exp2 = explode('"/>', $exp1[1]); 
				$name_owner = $exp2[0]; 
				
				$players = $Connect_Server->prepare('SELECT * FROM players WHERE name = :name LIMIT 1');
				$players->bindParam(':name', $name_owner, PDO::PARAM_STR);
				$players->execute();
				
				echo('<tr class="striped">');
				echo sprintf('<td>%s</td>', $name);
				echo('<td>');
				
				foreach($players as $player){
					echo sprintf('<a href="https://xxx/?page=profile&id=%d">%s</a>', $player['id'], $name_owner);
				}
				$players->closeCursor();
				
				echo('</td>');
				echo('<td>---</td>');
				echo sprintf('<td>%d</td>', $trainerhouse[$name]);
				
				if($trainerhouse[$name] > 0){
					echo sprintf('<td>%s ss</td>', ($trainerhouse[$name] * 10));
				}elseif($trainerhouse[$name] <= 0){
					echo('<td>---</td>');
				}
				echo('</tr>');
			}
		}
		echo "</table>"; 
	}
	$Connect_Server = null;
}
?>

funkcje odpalam tak echo Houses($Connect_Server);

Wie ktoś dlaczego i może mi to wyjaśnić?
System Debian 9 Nginx + fpm+ php 7.0

0

Komunikacja z PHPem wygląda następująco: Twoja przeglądarka <-> nginx <-> php-fpm; bad gateway występuje w sytuacji, kiedy nginx próbuje porozumieć się z php-fpm, lecz ten nie zwraca żadnej prawidłowej odpowiedzi.

W przypadku PHPa najczęściej oznacza to np. literówkę w kodzie - sprawdź logi php-fpm.

0

Niekoniecznie literowka, raczej malo prawdoporodbne.

  1. Sprawdz czy PHP FPM jest zywy,
  2. Sprawdz czy otwiera unix socket, czy tcp socket
  3. Sprawdz w konfiguracji nginxa czy nasluchujesz na poprawnym sockecie.

Moze cos zabija Ci proces fpm?

1 użytkowników online, w tym zalogowanych: 0, gości: 1