Ben windows bir hizmet olarak çalıştırmak için bir PHP komut dosyası gerekir.
Bunu yapmanın kolay bir yolu var mı?
Biraz Csharp ile ellerinizi kirli elde sakıncası yoksa, burada bir windows hizmeti bir kabuk uygulaması ile bir url var. Bir toplu iş dosyası (yani, script) her çok saniyede yürüten bir zamanlayıcı ayarlar. Lütfen komut sonra çıkar bir görevi yaparsa sadece çalışmak istiyorum. (Bu benim kod olmadığından topluluk wiki olarak işaretleniyor. Ben bağlantılı site gelecekte ölü gitmesi durumunda burada tüm kod kopyalama ediyorum.)
http://www.akchauhan.com/create-windows-service-to-schedule-php-script-execution/
İşte bağlantılı maddede belirtilen kod.
Hizmet için C #:
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");
}
}
}
Gerekli toplu iş dosyası:
@echo off
cd\
set path=C:\xampp\php;
cd "C:\xampp\htdocs"
php import.php
exit
Bu muhtemelen http://superuser.com/ veya http://serverfault.com/ için bir soru
This might offer some help about the service http://support.microsoft.com/kb/251192
Ben pencereleri ile çalıştığım bu yana bir süre oldu, ama bir hizmet olarak çalıştırmak için bir toplu iş dosyası kurulum mümkün olabilir.