Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Problem z wieczną pętla


MatiMcDonald

Pytanie

Opublikowano

Witam. Mam problem, może pytanie. Posiadam hosting www i przekombinowałem, otóż chciałem wypróbować ignore_user_abort(true);. Czyli w skrócie stworzyłem niby "wieczną" pętle. I tutaj moje pytanie: czy da się to jakoś wyłączyć bez kontaktu z pomocą techniczną? Zapomniałem dać argumentu który by kończył działanie tego php :13_upside_down:

<?php
// Ignore user aborts and allow the script
// to run forever
ignore_user_abort(true);
set_time_limit(0);

// Run a pointless loop that sometime 
// hopefully will make us click away from 
// page or click the "Stop" button.
while(1)
{
    // Did the connection fail?
    if(connection_status() != CONNECTION_NORMAL)
    {
        break;
    }// tutaj ja usunąłem ten warunek ...
    // tutaj był jakiś kod ale mniejsza z nim
    // Sleep for 10 seconds
    sleep(10);
}

// If this is reached, then the 'break' 
// was triggered from inside the while loop

// So here we can log, or perform any other tasks
// we need without actually being dependent on the 
// browser.
?>

Jakieś pomysły?

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano

W jakim sensie bez kontaktu z pomocą techniczną? Bez zmiany kodu? Wtedy raczej średnio, musiałbyś sztucznie wywoływać 

connection_status() = CONNECTION_NORMAL

Generalnie, jeśli możesz edytować kod, to wystarczy stworzyć warunek, który wykrywa wciśnięcie przycisku i robi break(), gdy go wciskamy - do tego niestety musisz użyć jQuery/Axios i wysłać asynchronicznego POSTa do backendu(PHP). 

To powinno Ci w tym trochę pomóc.

Non omnis moriar.

Opublikowano

Po prostu skasuj ten kod i problem zniknie. Wykonywanie skryptu PHP automatycznie jest zabijane po iluś sekundach właśnie po to, aby zapobiegać takim praktykom jak Twoja. Jeżeli jest inaczej i wykonywanie kodu nie jest ubijane, to to jest problem administratorów hostingu, a nie Twój.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...