BAD GATEWAY - dlaczego?

Odpowiedz Nowy wątek
2019-05-13 12:44
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

edytowany 2x, ostatnio: Programistyczny, 2019-05-13 12:46

Pozostało 580 znaków

2019-05-13 12:57
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.


Pozostało 580 znaków

2019-05-13 15:52
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?

edytowany 1x, ostatnio: daniel1302, 2019-05-13 15:53

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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