Frage

Ich brauche einen PHP-Skript als Dienst in Windows ausgeführt werden.

Gibt es eine einfache Möglichkeit, dies zu tun?

War es hilfreich?

Lösung

Sie müssen sc.exe verwenden. Besuchen Sie http://support.microsoft.com/kb/251192 für die Details.  Dann einfach php.exe yourscriptname als Befehlszeile für den Dienst ausführen

Andere Tipps

Wenn Sie nichts dagegen haben die Hände schmutzig mit ein wenig csharp bekommen, ist hier eine URL mit einer Shell-Anwendung, die ein Windows-Dienst ist. Es setzt einen Timer, der alle so viele Sekunden eine Batch-Datei (dh Ihr Skript) ausführt. Würde nur funktionieren, wenn Ihr Skript eine Aufgabe dann verlässt der Fall ist. (Kennzeichnung als Community Wiki, da dies nicht mein Code. Ich bin Kopieren aller Code hier im Falle der verlinkten Seite in Zukunft tot geht.)

http: //www.akchauhan. com / create-windows-service-to-Zeitplan-php-Script-Ausführung /

Hier ist der Code in dem verlinkten Artikel erwähnt wird.

C # für den Service:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;

namespace MyNewService
{
    public partial class MyNewService : ServiceBase
    {
        private Timer syncTimer = null;  

        public MyNewService()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            syncTimer = new Timer();
            this.syncTimer.Interval = 180000;
            this.syncTimer.Elapsed += new System.Timers.ElapsedEventHandler(this.syncTimer_Tick);
            syncTimer.Enabled = true;
        }

        protected override void OnStop()
        {
            syncTimer.Enabled = false;
        }

        private void syncTimer_Tick(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(@"C:\xampp\htdocs\task.bat");
        }  
    }
}

Die erforderliche Batch-Datei:

@echo off  
cd\  
set path=C:\xampp\php;  
cd "C:\xampp\htdocs"  
php import.php  
exit  

Dies ist möglicherweise eine Frage für https://superuser.com/ oder http://support.microsoft.com/kb/251192

Es ist schon eine Weile her, seit ich habe mit Windows gearbeitet, aber Sie könnten eine Batch-Datei zum Einrichten der Lage sein, als Dienst ausgeführt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top