ホームページ  >  記事  >  バックエンド開発  >  PHP が自動的に win32service を実行するパフォーマンス

PHP が自動的に win32service を実行するパフォーマンス

WBOY
WBOYオリジナル
2016-06-13 13:06:42872ブラウズ

PHP は win32service 関数を自動的に実行します

?Windows サービスとは何ですか? ? ?

?? ? ? Windows サービス (以前の NT サービス) を使用すると、独自の Windows セッション内で実行可能なアプリケーションを作成できます。 。 これらのサービスは、コンピュータの起動時に自動的に開始したり、一時停止および再起動したりできますが、ユーザー インターフェイスは表示されません。これにより、同じコンピュータに影響を与えないように、このサービスをサーバー上でいつでも使用するのに最適になります。 長時間実行される機能が必要な場合に、マシン上で作業している他のユーザーによって使用されます。ログインしているユーザーの特定のユーザー アカウントやデフォルトのコンピューター アカウントとは異なるセキュリティ コンテキストでサービスを実行することも可能です

  • 簡単に言うと、長時間自動で実行できるということでしょうか? Windows 上の PHP プログラム。 Q: これは私にとって重要ですか?

何のためにあるのですか?

?これにより、さらに多くのことができるようになります。例: PHP タスクを定期的に実行する、データを自動的に更新するなど。

?

それを達成するにはどうすればよいですか?

?

  1. 必ず 1 つ必要です Windows サーバーまたは Windows PC
  2. PHP 実行環境がインストールされている必要があります
  3. これは、PHP インストール ディレクトリの ext ディレクトリにある必要があります
  4. php_win32service.dll ファイル
  5. php.ini ファイルで開く必要がありますか?
  6. extension=php_win32service.dll ?このオプション
  7. ?

実行できない場合は (上記の手順をお読みください)、最も重要なコードは次のとおりです

悪魔の法則
<?
/**
 * 利用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   " 服务已停止! " ;
		}
	}
}
?>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。