PHP マニュアル
前のページ |  | 次のページ

# CLXIII. win32service 関数

# 導入

win32service は Windows 限定の拡張モジュールです。サービスコントロールマネージャと 連携してサービスの開始・停止・登録・解除を行ったり、PHP スクリプトを サービスとして実行させる機能を提供します。

# 要件

Windows NT、Windows 2000、Windows XP あるいは Windows Server 2003 が必要です。Windows NT 系の Windows に対応しています。

# インストール手順

PECL からのインストール

1. http://snaps.php.net/win32/ から php_win32service.dll がダウンロード可能です。 PHP のバージョンに一致する PECL_X_X フォルダを選択します。

2. php_win32service.dll を extension_dir にコピーします。

3. `php.ini` で拡張モジュールを読み込みます。

       extension=php_win32service.dll

# 例

例 1. PHP スクリプトをサービスとして登録する

`<?php win32_create_service(array( 'service' => 'dummyphp', # サービスの名前 'display' => 'sample dummy PHP service', # 説明 'params' => 'c:\path\to\script.php run', # スクリプトへのパスとパラメータ )); ?>`

例 2. サービスの登録を解除する

`<?php win32_delete_service('dummyphp'); ?>`

例 3. サービスとして実行する

`<?php if ($argv[1] == 'run') { win32_start_service_ctrl_dispatcher('dummyphp'); while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) { # ここに実際の作業内容を書きます。 # 1 回のループに 30 秒以上かからないように心がけてください。 } } ?>`

# 定義済み定数

以下の定数が定義されています。 この関数の拡張モジュールが PHP 組み込みでコンパイルされているか、 実行時に動的にロードされている場合のみ使用可能です。

`WIN32_SERVICE_CONTROL_CONTINUE` (integer)

`WIN32_SERVICE_CONTROL_INTERROGATE` (integer)

`WIN32_SERVICE_CONTROL_PAUSE` (integer)

`WIN32_SERVICE_CONTROL_STOP` (integer)

`WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE` (integer)

`WIN32_SERVICE_CONTROL_POWEREVENT` (integer)

`WIN32_SERVICE_CONTROL_SESSIONCHANGE` (integer)

`WIN32_ERROR_CALL_NOT_IMPLEMENTED` (integer)

`WIN32_NO_ERROR` (integer)

`WIN32_SERVICE_RUNNING` (integer)

`WIN32_SERVICE_STOPPED` (integer)

`WIN32_SERVICE_STOP_PENDING` (integer)

`WIN32_SERVICE_WIN32_OWN_PROCESS` (integer)

`WIN32_SERVICE_INTERACTIVE_PROCESS` (integer)

`WIN32_SERVICE_STOPPED` (integer)

`WIN32_SERVICE_START_PENDING` (integer)

`WIN32_SERVICE_STOP_PENDING` (integer)

`WIN32_SERVICE_RUNNING` (integer)

`WIN32_SERVICE_CONTINUE_PENDING` (integer)

`WIN32_SERVICE_PAUSE_PENDING` (integer)

`WIN32_SERVICE_PAUSED` (integer)

`WIN32_SERVICE_ACCEPT_NETBINDCHANGE` (integer)

`WIN32_SERVICE_ACCEPT_PARAMCHANGE` (integer)

`WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE` (integer)

`WIN32_SERVICE_ACCEPT_SHUTDOWN` (integer)

`WIN32_SERVICE_ACCEPT_STOP` (integer)

`WIN32_SERVICE_ACCEPT_HARDWAREPROFILECHANGE` (integer)

`WIN32_SERVICE_ACCEPT_POWEREVENT` (integer)

`WIN32_SERVICE_ACCEPT_SESSIONCHANGE` (integer)

`WIN32_SERVICE_FILE_SYSTEM_DRIVER` (integer)

`WIN32_SERVICE_KERNEL_DRIVER` (integer)

`WIN32_SERVICE_WIN32_SHARE_PROCESS` (integer)

`WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS` (integer)

前のページ | ホーム | 次のページ
win32_ps_stat_proc | 上に戻る | win32_create_service