(PECL win32service >=0.1.0)
win32_create_service — Crea una nueva entrada de servicio en la base de datos del ACS
details
Una matriz con los detalles del servicio:
service
El nombre corto del servicio. Éste es el nombre que se debe usar para controlar el servicio utilizando el comando net. El servicio debe ser único (dos servicios no pueden compartir el mismo nombre), y lo ideal sería evitar que el nombre contenga espacios.
display
El nombre para mostrar del servicio. Éste es el nombre que se verá en la Aplicación de Servicios.
description
La descripción larga del servicio. Ésta es la descripción que verá en el Services Applet.
user
El nombre de la cuenta de usuario bajo la cuál se quiere ejecutar el servicio. Si se omite, el servicio se ejecutará como la cuenta LocalSystem. Si se especifica el nombre de usuario, también se debe proporcionar una contraseña.
password
La contraseña que se corresponde con user
.
path
La ruta completa de módulo ejecutable que será lanzado cuando el servicio es iniciado. Si se omite, se usará la ruta del proceso de PHP actual.
params
Parámetros de línea de comandos a pasar al servicio cuando se inicia. Si quiere ejecutar un script de PHP como un servicio, el primer parámetro debería ser la ruta completa del script de PHP que intenta ejecutar. Si el nombre del script o la ruta contiene espacios encierre la ruta completa del script PHP con ".
load_order
Controla el orden de carga. Ésto aún no está completamente soportado.
svc_type
Establece el tipo de servicio. Si se omite, el valor por defecto es
WIN32_SERVICE_WIN32_OWN_PROCESS
.
No cambie esto a menos que sepa lo que está haciendo.
start_type
Especifica cómo debería iniciarse el servicio. Por defecto es
WIN32_SERVICE_AUTO_START
lo que significa que el
servicio será lanzado cuando se encienda la máquina.
error_control
Informa al ACS qué debería hacer cuando detecta un problema con
el servicio. Por defecto es
WIN32_SERVER_ERROR_IGNORE
. El cambio de este
valor no está aún soportado completamente.
delayed_start
Si delayed_start
está establecido a TRUE
,
informará al SCM que este servicio debería ser iniciado después que otros
servicios con autoinicio, más una pequeña demora.
Cualquier servicio puede ser marcado como un servicio con autoinicio demorado; sin embargo
este ajuste no tiene efecto a menos que el parámetro
start_type
del servicio sea
WIN32_SERVICE_AUTO_START
.
Este ajuste sólo es aplicable en Windows Vista y Windows Server 2008 o superior.
base_priority
Para reducir el impacto en el uso del procesador, puede ser necesario para establecer una prioridad base más baja de lo normal.
base_priority
puede establecerse a una de las
constantes definidas en
Clases de Prioridad Base de Win32.
machine
El nombre opcional de la máquina en la que quiere crear el servicio. Si se omite, se usará la máquina local.
Devuelve WIN32_NO_ERROR
en caso de éxito, FALSE
si hay un problema con los parámetros o Código de error Win32 en caso de error.
Ejemplo #1 Un ejemplo de win32_create_service()
Crear un servicio con el nombre abreviado 'dummyphp'.
<?php
$x = win32_create_service(array(
'service' => 'dummyphp', # el nombre de su servicio
'display' => 'ejemplo de servicio PHP', # descripción abreviada
'description' => 'Este es un servicio de Windows creado usando PHP.', # descripción larga
'params' => '"' . __FILE__ . '" run', # ruta del script y parámetros
));
debug_zval_dump($x);
?>