Lancer PHP-CGI en tant que service Windows

Lancer PHP-CGI en tant que service Windows

Installer PHP

Si ce n’est pas déjà fait, télécharger PHP pour Windows sur le site officiel.

Pour une utilisation avec Nginx, choisir une version “Non Thread Safe”.

Extraire l’archive dans le dossier désiré.
Pour cet article, nous allons utiliser le dossier C:\php .

PHP peut être configuré via le fichier C:\php\php.ini qu’il va faloir créer à partir des exemples fournis dans l’archive.

Créer le service

Il n’est pas possible directement dans Windows de créer un service à partir d’un exécutable.

Nous allons donc avoir besoin d’un outil pour celà, à savoir WinSW (github).

Commencer par télécharger la dernière version de WinSW par ici. Seul le fichier winsw-x.x.x-bin.exe nous intéresse.

Copier le fichier winsw-x.x.x-bin.exe dans le dossier C:\php et le renommer en php-service.exe.

Créer un fichier de configuration php-service.xml. Ce fichier doit obligatoirement porter le même nom que l’exécutable de WinSW.

Y saisir le contenu suivant :

1
2
3
4
5
6
7
8
9
10
11
12
13
<service>
<id>php</id>
<name>PHP</name>
<description>Serveur CGI PHP</description>
<executable>c:\php\php-cgi.exe</executable>
<logpath>c:\php\</logpath>
<logmode>roll</logmode>
<depend></depend>
<startargument>-b</startargument>
<startargument>127.0.0.1:9000</startargument>
<startargument>-c</startargument>
<startargument>C:\php\php.ini</startargument>
</service>

Cette configuration définit un service PHP dont la commande de démarrage est C:\php\php-cgi.exe -b 127.0.0.1:9000 -c C:\php\php.ini.

Cette configuration est relativement basique mais fait le travail.
Vous pouvez cependant l’adapter à vos besoins en suivant la documentation de WinSW.

Installer le service

L’exécutable créé précédemment permet la gestion complète du service, y compris son installation.

Pour celà, ouvrir une ligne de commande en mode administrateur et exécuter les commandes suivantes :

1
2
3
C:
cd C:\php
php-service install

Supprimer le service

Ouvrir une ligne de commande en mode administrateur et exécuter les commandes suivantes :

1
2
3
C:
cd C:\php
php-service uninstall

Gestion du service

Le service peut être géré depuis l’interface de gestion des services de Windows, mais aussi via l’exécutable php-service.

MéthodeVérifier l’état du serviceDémarrer le serviceStopper le service
Avec php-servicephp-service statusphp-service startphp-service stop
Avec la commande netnet start phpnet stop php

Pour consulter la liste des commandes, taper la commande php-service --help.

Astuce : Il est possible d’ajouter le dossier C:\php dans le PATH pour accéder à la commande php-service en ligne de commande depuis n’importe quel dossier.

PartagerCommentaires