PHP は win32service 関数を自動的に実行します
?? ? ? Windows サービス (以前の NT サービス) を使用すると、独自の Windows セッション内で実行可能なアプリケーションを作成できます。 。 これらのサービスは、コンピュータの起動時に自動的に開始したり、一時停止および再起動したりできますが、ユーザー インターフェイスは表示されません。これにより、同じコンピュータに影響を与えないように、このサービスをサーバー上でいつでも使用するのに最適になります。 長時間実行される機能が必要な場合に、マシン上で作業している他のユーザーによって使用されます。ログインしているユーザーの特定のユーザー アカウントやデフォルトのコンピューター アカウントとは異なるセキュリティ コンテキストでサービスを実行することも可能です
?これにより、さらに多くのことができるようになります。例: PHP タスクを定期的に実行する、データを自動的に更新するなど。
?
それを達成するにはどうすればよいですか?
?
悪魔の法則
<? /** * 利用PHP安装windows自动运行的服务 * * Project: Tiwer Developer Framwork * This is NOT a freeware, use is subject to license terms! * * Site: http://wgw8299.cnblogs.com * * $Id: WinService.class.php 258 2011-03-07 02:18:42Z wgw8299 $ * * Copyright (C) 2007-2010 Tiwer Developer Team. All Rights Reserved. */ class WinService { /** * 服务名称 */ var $name; /** * 定义服务名称 */ var $info_name; /** * 定义php.exe存放路径 tus = win32_query_service_status( $this->name ); if ( $svcStatus == 1060 ) { echo "服务[" . $this->name . "]未被安装,请先安装"; } else { if ( $svcStatus['CurrentState'] == 1 ) { $s = win32_start_service($this->name); if ( $s != 0 ){ echo "服务无法被启动,请重试! "; } else { echo "服务已启动! "; } } else { $s = win32_stop_service($this->name) ; if ( $s != 0 ) { echo " 服务正在执行,请重试! " ; } else { $s = win32_start_service( $this->name ) ; if ( $s != 0 ){ echo "服务无法被启动,请重试! "; } else { echo "服务已启动! "; } } } } } /** * 启动服务 * * @access public * * @return void */ public function start() { $s = win32_start_service(_SERVICENAME); if ( $s != 0 ){ echo " 服务正在运行中! " ; } else { echo " 服务已启动! " ; } } /** * 停止服务 * * @access public * * @return void */ public function stop() { $s = win32_stop_service(_SERVICENAME ); if ( $s != 0 ){ echo " 服务未启动! " ; } else { echo " 服务已停止! " ; } } } ?>