失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用PHP安装windows自动运行的服务 PHP程序可以实现长时间 自动运行 定时更新功能

利用PHP安装windows自动运行的服务 PHP程序可以实现长时间 自动运行 定时更新功能

时间:2020-01-20 17:35:56

相关推荐

利用PHP安装windows自动运行的服务 PHP程序可以实现长时间 自动运行 定时更新功能

为什么80%的码农都做不了架构师?>>>

什么windows服务

Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。》》(百度百科)

简单的说就是可以长时间、自动运行在Windows 上的PHP程序。问:这对我来说重要吗?

有什么用?

哈哈哈!有了这个,我们就可以做更多的事了。如:定期执行一个PHP任务、自动更新数据....等等。

如何实现?

前提:

必须有一台Windows服务器 或者WindowsPC机必须安装得有PHP运行环境必须在PHP 的安装目录的\ext\下有这个php_win32service.dll文件必须有php.ini文件里面开启extension=php_win32service.dll 这个选项

如果你运行不起来(请看一哈上面的说明哦)最重要代码来了,如下

<?/*** 利用PHP安装windows自动运行的服务** Project: Tiwer Developer Framwork* This is NOT a freeware, use is subject to license terms!* * Site: * * $Id: WinService.class.php 258 -03-07 02:18:42Z wgw8299 $** Copyright (C) - Tiwer Developer Team. All Rights Reserved.*/class WinService{/*** 服务名称*/var name;/*** 定义服务名称*/var info_name;/*** 定义php.exe存放路径*/var path;/*** 定义所要执行的程序*/var params;/*** 定义程序分隔执行时间,单位:秒*/var sleep = 5;/*** 构造函数** @access private* * @return void*/private function __construct() {}/*** 安装服务** @access public** @return void*/public function install() {/* 注册服务 */ $x = win32_create_service ( array ('service' => $this->name, 'display' => $this->info_name, 'path' => $this->path, 'params' => $this->params, )) ; /* 启动服务 */ win32_start_service ( $this->name ) ; if ( $x !== true ){ die ( '服务创建失败!' ) ; } else { die ( '服务创建成功!' ) ; } }/*** 卸载服务** @access public** @return void*/public function uninstall() {/* 移除服务 */ $removeService = win32_delete_service( $this->name ) ; switch ($removeService) { case 1060: die ('服务不存在!' ) ; break ; case 1072: die ('服务不能被正常移除! ' ) ; break ; case0: die ('服务已被成功移除!' ) ; break ; default : die ();break ; }}/*** 重启服务** @access public** @return void*/public function restart() {/* 重启服务 */ $svcStatus = 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 " 服务已停止! " ; } }} ?>

利用PHP安装windows自动运行的服务 PHP程序可以实现长时间 自动运行 定时更新功能 直接可以用在项目中的类源代码...

如果觉得《利用PHP安装windows自动运行的服务 PHP程序可以实现长时间 自动运行 定时更新功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。