Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Skripta izgleda ostala pokrenuta - kako da zaustavim?

[es] :: PHP :: Skripta izgleda ostala pokrenuta - kako da zaustavim?

[ Pregleda: 1838 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Upss

Član broj: 44495
Poruke: 29
*.teol.net.



+1 Profil

icon Skripta izgleda ostala pokrenuta - kako da zaustavim? 07.08.2010. u 20:44 - pre 166 meseci
Pomagajte...

Prvo evo skripte koja je krivac za sve:

Code:
<?php
    include "konekt.php";

    $naziv_txt_fajla = "kartica.txt";
    $datum_upisa = date("Y-m-d");

        mysql_query("TRUNCATE TABLE kartica") ;

        $fajl_citac = fopen($naziv_txt_fajla, "r");
        
        while (!feof($fajl_citac)) {
          $linija = fgets($fajl_citac);
          $linija_niz = explode("#",$linija);
          
          $sifra = $linija_niz[0];
          $naziv = $linija_niz[1];
          $adresa = $linija_niz[2];
          $saldo = $linija_niz[3];
          $datrac = $linija_niz[4];
          $iznrac = $linija_niz[5];
          $datupl = $linija_niz[6];
          $iznupl = $linija_niz[7];

          mysql_query("INSERT INTO kartica1 (sifra, naziv, adresa, saldo, datrac, iznrac, datupl, iznupl, datupis)
                     VALUES ('$sifra','$naziv','$adresa','$saldo','$datrac','$iznrac','$datupl','$iznupl','$datum_upisa')") ;

        }
        fclose($fajl_citac);
        
    $msg_poruka="uspijesno je izvrsen prenos podataka+1"; // + 1 Uspijesno, + 2 Upozorenje

    mysql_close($connection);

?>

Kao sto ste mogli da vidite citam txt fajl i iz njega liniju po liniju upisujem u neku MySQL tabelu. I ovo radi.
E sad sta je moj problem.
Kad sam prebacio na server i uradio prvi test napravio sam jednu gresku a to je da nisam dobro naveo naziv txt fajla. I zbog toga txt fajl pod imenom koje sam naveo nisam imao na serveru. I onda on nesto radi pa radi i nikad da stane ... i ja klik pa zatvorim browser.
Posle pogledam tabelu na serveru ona se i dalje puni. I velicina raste pa raste. Dok sam ja pogledao vec je imala preko milon slogova.
KAKO DA ZAUTAVIM OVO. Ova moja luda skripta kao da tamo na serveru i dalje radi.
Brisao sam tabelu. I tad stane. Kad je ponovo kreiram pocinje ponovo. Dobro dosjetio sam se da je obrisem pa kreiram tabelu sa novim imenom. Ali sta ako mi se to desi nekad i sa novom tabelom.

Ima li ko kavu ideju kako da ovo zaustavim. A ocigledno da mi je i skripta losa pa sta bi mogao da uradim da se to ne desi.

POZDRAV

[Ovu poruku je menjao Goran Rakić dana 07.08.2010. u 23:00 GMT+1]
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1007

Sajt: www.its.edu.rs


+38 Profil

icon Re: aaaaaaaaaa kako da zaustavim ovo?07.08.2010. u 20:59 - pre 166 meseci
Probaj ovo
Code:
        $fajl_citac = fopen($naziv_txt_fajla, "r");


da stavis u neki exception, da ako taj fajl ne postoji izbaci poruku o gresci.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

aleksandar.dragojlovic
Aleksandar Dragojlović
Kraljevo

Član broj: 142052
Poruke: 100
*.dynamic.sbb.rs.



Profil

icon Re: aaaaaaaaaa kako da zaustavim ovo?07.08.2010. u 21:30 - pre 166 meseci
Skini skriptu, restartuj Apache i MySql, popravi skriptu...
 
Odgovor na temu

Upss

Član broj: 44495
Poruke: 29
*.teol.net.



+1 Profil

icon Re: Skripta izgleda ostala pokrenuta - kako da zaustavim?07.08.2010. u 22:55 - pre 166 meseci
Dobro, kod sam odmah zakrpio jednom provjerom da li postoji txt fajl:

Code:
if (file_exists($naziv_txt_fajla)) {
   ... onaj moj kod
       za citanje i upis
}else{
      $msg_poruka="fajl sa podacima nije prenesen na server +2"; // 1, Uspijesno + 2, Upozorenje
}

Sto se tice ove ideje za resetovanje apaca i MySql-a ja ne bi reko da ja imam ta ovlascenja na hosting serveru . To znam uraditi ma mom lokalnom racunaru ali ne znam kako se to radi na hosting serveru. I dalje ne znam kako da zaustavim ovu skriptu ili bilo koju koja bi mi izmakla kontroli kao ova.
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
*.mbb.telenor.rs.



+303 Profil

icon Re: Skripta izgleda ostala pokrenuta - kako da zaustavim?08.08.2010. u 00:19 - pre 166 meseci
Testiraj sve u lokalu pre postavljanja na hosting, a ako se vec zeznes pa postavis nesto kao to gedaj da ispunis uslov zbog kog taj loop konstantno radi. I pazi da ti ne suspenduju nalog na hostingu, jer to sto si sad uradio previse opterecuje server (sigurno vise od onoga sto shared hosting dozvoljava).
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.dynamic.isp.telekom.rs.



+19 Profil

icon Re: Skripta izgleda ostala pokrenuta - kako da zaustavim?08.08.2010. u 10:55 - pre 166 meseci
Da bi ti skript radio i nakon zatvaranja browsera, moras imati negde ignore_user_abort(true); uz eventualno dodat i set_time_limit(0);, verovatno tamo u konekt.php.

Ako si na shared hostingu ne mozes resetovati Apache, sacekaj, administratori na vecini hostinga sami povremeno opale restart.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

Upss

Član broj: 44495
Poruke: 29
*.teol.net.



+1 Profil

icon Re: Skripta izgleda ostala pokrenuta - kako da zaustavim?08.08.2010. u 18:19 - pre 166 meseci
Nemam sigurno ignore_user_abort(true), set_time_limit(0) ni u jednoj jedinoj skripti CMS-a. Poznajem svaku liniju koda. Evo kako izgleda konekt.php

Code:
<?php
$host = "localhost";

$user = "rrrrrrr";
$password = "ppppppp";
$database = "bbbbbbb_baza";

$connection = mysql_connect("$host","$user","$password")
          or die("Povezivanje neuspjesno.");

mysql_select_db("$database")
          or die("Baza nije dostupna.");

mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");

?>


Probao sam i danas kreirati ponovo tabelu koju ova pomenuta skripta i dalje puni tabelu. I njena velicina i dalje raste. Znaci ova skripta i danas na serveru radi. Kontaktirao bih ja i administratora ali me pokoleba ovaj sto rece mogli bi mi i da ukinu nalog zbog toga. Mada nije nista ucinjeno sa losom namjerom.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Skripta izgleda ostala pokrenuta - kako da zaustavim?08.08.2010. u 18:57 - pre 166 meseci
Javi se administratoru ili tehničkoj podršci firme koja ti nudi hosting i ispričaj im sve detalje. Pitaj i kako je moguće da ta skripta ostane neograničeno pokrenuta i da li je to uopšte uzrok problema? Možda ti je ostao negde ovaj skript ili funkcija pa ga neko treći iznova poziva?

Pogledaj i rezultat sledećeg koda:
Code (php):

<?php
  passthru("ps auxw|grep php");
?>
 


To bi trebalo da ti da listu aktivnih procesa na serveru koji sadrže php u naredbi. Tu će se pojaviti i tvoja skripta ako je PHP instaliran kao CGI, a ne kao Apache modul.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: PHP :: Skripta izgleda ostala pokrenuta - kako da zaustavim?

[ Pregleda: 1838 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.