ďťż

[php] Za długi czas wykonywania skryptu.

       

Podstrony


telcocafe

Potrzebowałem pewien skrypt który do prawidłowego wykonania powierzonego mu zadania potrzebuje wczytać stronę z internetu. Skrypt działa poprawnie, ale ze względu na moje wolne łącze strona często ładuje się ponad 30 sekund. Jednym z rozwiązań mogłoby być umieszczenie skryptu na jakimś serwerze udostępniającym darmowy hosting, ale za dużo kłopotu by było z przenoszeniem plików więc odpada. Można przebudować skrypt tak żeby ładowanie strony odbywało się poza skryptem php (jakoś za pomocą JS), ale na dłuższą metę odpada bo się robi bałagan w kodzie. Ale mam ten atut, że skoro serwer stoi u mnie na kompie to mogę wydłużyć czas wykonywania skryptu do np 60 sekund. Tylko, że nie wiem jak :/ Mam Abyss Web Server X1.

A może macie jeszcze jakieś inne sposoby na ominięcie problemu ? Dla informacji podam, że stronę wczytuję funkcją file_get_contents() i wszystkie pozostałe operacje wykonują się w jednym bloku skryptu (tzn chodzi mi o to że nie jest on podzielony na części tylko wszystko jest w jednym pliku w jednej klamrze <?PHP ?>).



Polecam Webserv'a. Tego twojego programu nie znam, nie wiem jak działa, na jakich programach jest. Ale w webserv masz apache, i zapewne gdzieś w pliku php.ini masz możliwość zmiany czasu na wykonanie sryrptu. Oczywiście możesz apache i resztę samemu osobno zainstalować, ale po co jak możesz w kupie, i dużo łatwiej??

1. w php.ini masz właściwość max_execution_time. Tu ustalasz maksymalny czas wykonywania skryptów.

2. php.ini występuje we wszystkich serwerach z PHP. To jest plik konfiguracyjny PHP :P

3. Jeśli chcesz naprawdę profesjonalnie zarządzać stroną, WebServ, Xampp i inne WAMPy/LAMPy nie wchodzą w grę. Czasem warto pokombinować samemu z Apache'm, przynajmniej się czegoś nauczysz. Jakbyś szedł do pracy na programistę PHP to podejrzewam szef nie byłby w sosie. Takiego czegoś się nie uznaje.

4. Jeśli możesz to pobieraj stronę tylko raz i zapisuj na dysku na serwie. Albo sprawdzaj czy strona na dysku jest aktualna(jeśli jest taka możliwość).

5. Większość darmowych hostingów zakazuje łączenia się z innym serwerem.

6. Nie myśl o dobrym domowym hostingu bez szybkiego łącza :P

7. Poczytaj o optymalizacji kodu, już wiele takich tematów było nawet tutaj :)
I na razie to byłoby na tyle :)
Użytkownik Tomek92 edytował ten post 31 lipiec 2008, 16:38
Nie robie żadnego hostingu tylko na localhoście sprawdzam sobie jak działają stronki które robie w domu bo przecież głupotą by było wysyłanie ich za każdym razem na serwer z hostingiem gdzie strona ma docelowo działać (wysyłam dopiero produkt finalny) :P

Co do optymalizacji to wiem na czym polega i jak robie stronę to staram się myśleć o czasie wykonywania skryptu albo obciążaniu serwera z jego powodu, ale wyżej wspomniany skrypt to tylko na raz mi jest potrzebny bo nie chce mi się ręcznie kopiować danych ze strony :P

I dzięki za info z php.ini, zapomniałem o istnieniu tego pliku (bo rzadko w nim grzebałem, w zasadzie to tylko jak stawiałem serwer :P).



Racja Tomku, racja, troszkę zamuliłem. A jeśli o mnie chodzi to obowiązkowo instalowanie wszystkiego osobno. Ahh ten linux :)

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.