Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt PHP w windows services
Forum PHP.pl > Forum > Przedszkole
jamesb
Witam

Temat w połowie zwiazany z php a mianowicie chciałbym utworzyć usługe (services) w windowsie xp za pomocą programiku srvinstw.exe lub sc.exe. Jako plik wykonywalny byłby zwykły plik wiersza polecenien *.cmd który odpala skrypt php (php.exe -c sktypt.php...) usługa się tworzy jednak wyrzuca błąd 1053 Usługa nie odpowiada na sygnał uruchomienia lub sygnal sterujący w oczekiwanym czasie.

Plik *.cmd mam teraz wrzucony w harmonogram zadań windows i odpalam go w określonym czasie co kilka minut, wszystko działa ok skrypt php ładnie sie wykonuje. Teraz chciałbym to troszke "profesjonalniej" zrobić jako usługa windows:]
erix
Obawiam się, że nie ma takiej możliwości. Usługa musi odpowiadać na parę sygnałów sterujących.

Cytat
Plik *.cmd mam teraz wrzucony w harmonogram zadań windows i odpalam go w określonym czasie co kilka minut, wszystko działa ok skrypt php ładnie sie wykonuje. Teraz chciałbym to troszke "profesjonalniej" zrobić jako usługa windows:]

Ale chyba proces powinien po jednokrotnym uruchomieniu pozostać w pamięci, nie trzeba chyba odpalać przez zaplanowane zadania...
jamesb
Znalazłem rozszerzenie php win32services http://pl.php.net/win32service
Ale nie moge tego odpalić, moze ktos sie tym bawił prosze o jakis wyprobowany przykładowy kod.
erix
To znaczy? Przecież masz w dokumentacji: http://pl.php.net/manual/pl/win32service.e...les-service.php
jamesb
Zlokalizowałem problem:] Kodzik poniżej, wystarczy dodać sciezke do pliku php.ini oraz ścieżke do php.exe jeśli jest inna (mozna spawdzić we właściowościach usługi windows).

Kod
<?php
        $x = win32_create_service(array(
            'service' => 'service',
            'display' => 'service',
            'params' => '-c "(ściezka)\php.ini" -f "(ścieżka)\script.php" run',
            'path' => '(ścieżka)\php.exe',
        ));
        debug_zval_dump($x);
    ?>




Fajnie usługa działa skrypt sie wykonuje ale tylko jeden raz. Jak tu teraz zrobić aby gdy usługa działa skrypcik (script.php) wykonywał się o określonej godzinie, co kilka minut itp. questionmark.gif


---


Pomogły funkcje sleep i usleep.
Wszystko ładnie śmiga usługa działa i wpisuje do bazy danych co kilka minut siakieś śmieszne dane;]

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.