2010-01-27 3 views

ответ

1

Вы должны использовать sc.exe. Посетите http://support.microsoft.com/kb/251192 для деталей. Тогда просто использовать php.exe yourscriptname в качестве командной строки для службы для выполнения

+0

Я не думаю, что это будет работать, так как ехе должен вернуться при запуске. Вот почему у вас есть метод OnStart в программе csharp выше. –

1

Если вы не против того, чтобы ваши руки были грязными с небольшим csharp, вот URL-адрес с приложением оболочки, которое является службой Windows. Он устанавливает таймер, который выполняет пакетный файл (т. Е. Ваш скрипт) каждые несколько секунд. Будет работать только в том случае, если ваш скрипт выполнит задачу, а затем выйдет. (Маркировка в качестве вики сообщества, так как это не мой код. Я копирую весь код здесь, в случае, связанный сайт идет мертвым в будущем.)

http://www.akchauhan.com/create-windows-service-to-schedule-php-script-execution/

Вот код, упомянутый в связанном статье.

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"); 
     } 
    } 
} 

Необходимый пакетный файл:

@echo off 
cd\ 
set path=C:\xampp\php; 
cd "C:\xampp\htdocs" 
php import.php 
exit 
Смежные вопросы