0% found this document useful (0 votes)
380 views

Create Windows Service To Schedule PHP Script Execution

This document describes how to create a Windows service to schedule the execution of PHP scripts on a recurring interval. The key steps are: 1. Create a Windows service project in Visual Studio using the service application template. 2. Write code for the OnStart and OnStop methods to start and stop a timer when the service starts and stops. 3. Have the timer trigger a method that executes the PHP script using a batch file every 3 minutes. 4. Build, install, and start the service to continuously run the PHP script on the schedule.

Uploaded by

rddomingo
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
380 views

Create Windows Service To Schedule PHP Script Execution

This document describes how to create a Windows service to schedule the execution of PHP scripts on a recurring interval. The key steps are: 1. Create a Windows service project in Visual Studio using the service application template. 2. Write code for the OnStart and OnStop methods to start and stop a timer when the service starts and stops. 3. Have the timer trigger a method that executes the PHP script using a batch file every 3 minutes. 4. Build, install, and start the service to continuously run the PHP script on the schedule.

Uploaded by

rddomingo
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

Create Windows

Service to Schedule
PHP Script execution
If you want to schedule your PHP script or
any other command on Windows
Platform recursively after a fix interval of
time then you can create a Windows
Service for it. Windows service is very
easy to create in Visual Studio.Net. I’m
using C# language for this scheduler
service you can also use VB.net for it.
Basically we need this type of service if
we want to execute some PHP script in
background in a specific interval of time.
For example, If you want to import data in
bulk from some web service.

You need to follow these steps: -

• Create a project by using the


Windows Service application template.
This template creates a class for you that
inherits from ServiceBase and writes
much of the basic service code, such as
the code to start the service.
• Write the code for the OnStart
and OnStop procedures, and override any
other methods that you want to redefine.
• Add the necessary installers for
your service application. By default, a
class that contains two or more installers
is added to your application when you
click the Add Installer link: one to install
the process, and one for each associated
service that your project contains.
• Build your project.
• Create a setup project to install
your service, and then install it.
• Access the Windows 2000
Services Control Manager and start your
service.

For more detail check “Walkthrough:


Creating a Windows Service
Application in the Component
Designer” topic in MSDN.

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.Inte
rval = 180000;
this.syncTimer.Elap
sed += new
System.Timers.ElapsedEventHandl
er(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");
}
}
}
The task.bat file is a batch file. We are
executing our PHP script through this
batch file. First we set the path of
directory where php.exe is located in your
windows. The import.php is basically
importing data in bulk from some web
and we need to execute this script file
background in every 3 minutes.

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

You might also like