Forum forum.webPC.pl Strona Główna  
  forum.webPC.pl
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Grupy  Grupy
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Zbyt dlugie wykonywanie sie skryptu PHP

Napisz nowy temat  Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
 Zbyt dlugie wykonywanie sie skryptu PHP Zobacz poprzedni temat :: Zobacz następny temat --> 
Autor Wiadomość
tapis
PostWysłany: Sro Gru 13, 2006 2:22 am    Temat postu: Zbyt dlugie wykonywanie sie skryptu PHP Odpowiedz z cytatem

Nieśmiały

Dołączył: 13 Gru 2006
Posty: 8

Witam serdecznie.
Mam problem z moim skryptem w php rozylajacym maile.
Zadaje zaptanie do bazy mysql i mam odpowiednia tablice adresow mail.
Pozniej w petli while rozsylam maile fukcja mail(). Jesli tych maili jest
malo to dziala OK, ale jak jest ich np. ponad 300 to skrypt nie wyrabia
i skrypcik php dostaje timeout od serwera www.
Bardzo prosze o pomoc jak moge napisac poprawny skrypt
rozszylajacy maile.

Dziekuje za odpowiedz.


Pozdrawiam
Wojtek Kaliszak
tapis@interia.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Cooker
PostWysłany: Sro Gru 13, 2006 8:58 am    Temat postu: Odpowiedz z cytatem

Ziomek

Dołączył: 27 Lis 2006
Posty: 122

Być mozę serwer, na którym go odpalasz ma ustawiony za krótki czas przetwarzania skryptu (częste na wiekszości hostingów)...
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tapis
PostWysłany: Sro Gru 13, 2006 10:26 am    Temat postu: Odpowiedz z cytatem

Nieśmiały

Dołączył: 13 Gru 2006
Posty: 8

Tak z pewnoscia jest, ale niestety nie jest to do przeskoczenia. Jedynym ratunkiem dla mnie jest wiec zmodyfikowanie skryptu.

Pozdrawiam
Wojtek Kaliszak
tapis@interia.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tapis
PostWysłany: Sro Gru 13, 2006 11:22 am    Temat postu: Odpowiedz z cytatem

Nieśmiały

Dołączył: 13 Gru 2006
Posty: 8

Poniżej podaję mój kod źródłowy:

<?

if(!$sql_sub=mysql_connect("ip", "user", "haslo"))
print"Błąd łączenia z serwerem bazodanowym"!";
if(!mysql_select_db ("nazwabazy"))
print"Błąd przy wybieraniu bazy danych!";


$tabelka="tabelka1";

$zapytanie="SELECT * FROM $tabelka WHERE (wartosc='abc' OR wartosc='def' OR wartosc='ghi') ORDER BY adresemail";
$wykonaj=mysql_query ($zapytanie);
$wiersze=mysql_num_rows($wykonaj);

$argument2="...temat...";
$argument3="...treść...";

print"<U>Listowanie adresów email:</U><BR>";

while ($wiersz = mysql_fetch_array ($wykonaj))
{
$argument1=$wiersz[2];

if(mail($argument1,$argument2,$argument3,"From: User<user@serwer.pl>","-f user@serwer.pl"))
print"".$argument1."<BR>";
else
print"Błąd funkcji mail(), najprawdopodobnie zwrot maila z serwera pocztowego!".$argument1."<BR>";
}

print"<BR>Wysłano wiadomości:".$wiersze."";

?>

Adresów email jest 350, wiadmości są typy txt każda wielkości 2-5KB.

Skrypt się wykonuje kilka minut po czym dostaję błąd serwera nr 500.
Część maili dochodzi do odbiorców.

Pozdrawiam
Wojtek Kaliszak
tapis@interia.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
tapis
PostWysłany: Czw Gru 14, 2006 1:08 am    Temat postu: Odpowiedz z cytatem

Nieśmiały

Dołączył: 13 Gru 2006
Posty: 8

set_time_limit(0);

Pozdrawiam
Wojtek Kaliszak
tapis@interia.pl
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
matheus
PostWysłany: Czw Gru 14, 2006 4:20 pm    Temat postu: Odpowiedz z cytatem

Moderator

Dołączył: 22 Lis 2006
Posty: 487
Skąd: 3 Miasto

jaki masz serwer ?? Obsluguje php ?? Very Happy
_________________
A biada milczącym o Tobie, że mając mowę, stali się niemymi.

| Sopot | | Lębork
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
tapis
PostWysłany: Czw Gru 14, 2006 8:12 pm    Temat postu: Odpowiedz z cytatem

Nieśmiały

Dołączył: 13 Gru 2006
Posty: 8

Problem juz rozwiazalem.

Ja sprawdzalem u siebie to skryptem:

<?php

set_time_limit(900);
ignore_user_abort(true);

for ($i = 1; $i <= 20; $i++) {

sleep(60);
mail('user@jakisserwer.pl', 'ciagle zyje', $i*60);

};

?>

Aby funkcja set_time_limit(); zadzialala, parametr safe_mode musi byc ustawiony na OFF.
Mozna to spradzwic funkcja phpinfo();

Pozdrawiam
Wojtek
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
matheus
PostWysłany: Czw Gru 14, 2006 11:33 pm    Temat postu: Odpowiedz z cytatem

Moderator

Dołączył: 22 Lis 2006
Posty: 487
Skąd: 3 Miasto

dzieki moze sie przydac dla innych
temat zamykam
_________________
A biada milczącym o Tobie, że mając mowę, stali się niemymi.

| Sopot | | Lębork
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
ghosti
PostWysłany: Pią Gru 15, 2006 1:11 am    Temat postu: Odpowiedz z cytatem

Operator

Dołączył: 26 Lis 2006
Posty: 538

matheus napisał:
dzieki moze sie przydac dla innych
temat zamykam


jednak chyba dzisiaj o jedno piwko za duzo i nie trafiles w zamknij Wink , a tak btw. nie wiem czy az 3 posty obok siebie to koniecznosc..
_________________
bankier fotka forum nastolatek ciechocinek toruń noclegi
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
Wyświetl posty z ostatnich:   
Napisz nowy temat  Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi Strona 1 z 1

Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Zbyt dlugie wykonywanie sie skryptu PHP
Skocz do:  



Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


gabloty aluminiowe, wiaty kroll, aquai
Powered by phpBB © 2001, 2005 phpBB Group.