- 浏览: 2034873 次
- 来自: 武汉
文章分类
- 全部博客 (415)
- UI设计 (19)
- PHP (26)
- PHP工具类 (23)
- 二次开发 (53)
- phpMVC (28)
- javascript (50)
- JS 组件 (20)
- MYSQL (37)
- 其他 (16)
- xml/flash/flex (6)
- 版本控制 (7)
- 开源 (4)
- bug解决 (5)
- Linux (15)
- NoSQL (14)
- 软件设计 (21)
- C/PHP内核 (5)
- 安全性 (8)
- 面试 (18)
- 设计模式 (4)
- 重构 (6)
- 开发配置 (11)
- SQL SERVER (12)
- 采集 (3)
- SEO (2)
- 维护 (15)
- UML (5)
- 硬件标准 (1)
- 架构 (8)
- JAVA (1)
最新评论
-
carry0987:
求大神分離下X3的模板...不然對於PHP7不友好啊...
分离自Discuz模板类和语法 -
青木得海角:
你好,里面的 Crypt/TripleDES.php 和 Cr ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
zohog:
楼主,Mac.php中里面的 Crypt/TripleDES. ...
POS机算法 -
q59200182:
能不能给个完整的demo 新手上路不会 求带
AngularJs 指令directive之controller,link,compile
什么 windows服务 ? http://hudeyong926.iteye.com/blog/1056467
Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序 。 这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这使服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算 机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务
简单的说就是可以长时间、自动运行在Windows上的PHP程序。 问:这对我来说重要吗?
有什么用?
哈哈哈!有了这个,我们就可以做更多的事了。如:定期执行一个PHP任务、自动更新数据 ....等等。
如何实现?
必须有一台 Windows服务器 或者Windows PC机
必须安装得有PHP运行环境
必须在PHP 的安装目录的\ext\下有这个 php_win32service.dll文件
必须有php.ini文件里面开启 extension=php_win32service.dll 这个选项
如果你运行不起来(请看一哈上面的说明哦)最重要代码来了,如下
<?php /** * 利用PHP安装windows自动运行的服务 * $Id: WinService.class.php * $winService = new WinService(); * $winService->install(); */ class WinService { //服务名称 var $name = 'PHP Service'; //定义服务名称 var $info_name = "Exsample PHP Service"; //定义php.exe存放路径 var $path = "C:\\wamp\\php\\php.exe"; //定义所要执行的程序 var $params = "D:\\localhost\\Service\\win32_service.php"; //定义程序分隔执行时间,单位:秒 var $sleep = 5; private function __construct($name = '', $infoName = '', $param = '') { $this->name = $name; $this->info_name = $infoName; $this->params = $param; } 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 ('服务创建成功!'); } } public function uninstall() { /* 移除服务 */ $removeService = win32_delete_service($this->name); switch ($removeService) { case 1060: die ('服务不存在!'); break; case 1072: die ('服务不能被正常移除! '); break; case 0: die ('服务已被成功移除!'); break; default : die (); break; } } 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 "服务已启动! "; } } } } } public function start() { $s = win32_start_service($this->name); if ($s != 0) { echo " 服务正在运行中! "; } else { echo " 服务已启动! "; } } public function stop() { $s = win32_stop_service($this->name); if ($s != 0) { echo " 服务未启动! "; } else { echo " 服务已停止! "; } } } ?>
win32_service.php
<?php //检测服务是否存在 if (!win32_start_service_ctrl_dispatcher("PHP Service")) { die("没有发现正在运行的 [ "PHP Service" ] 服务"); } win32_set_service_status(WIN32_SERVICE_START_PENDING); win32_set_service_status(WIN32_SERVICE_RUNNING); //如果运行中 while (WIN32_SERVICE_CONTROL_STOP != win32_get_last_control_message()) { //写入文件 for ($i = 1; $i <= 1; $i++) { $b_file_path = "D:\\localhost\\test.txt"; $f = fopen($b_file_path, 'a+'); $msg = 'Dernier backup correctement:' . date('y/m/d h:i:s'); fwrite($f, $msg . "\r\n"); fclose($f); sleep(1); } } ?>
- php调用win32API、dll.rar (24.3 KB)
- 下载次数: 57
- php_win32service.zip (10.8 KB)
- 描述: php5.2
- 下载次数: 48
- win32service-0.1.0.rar (10.8 KB)
- 描述: 没编译,源文件
- 下载次数: 26
- php_win32service-svn20091206-5.3-vc9-x86.zip (7.3 KB)
- 下载次数: 24
- php_win32service-svn20091206-5.3-nts-vc9-x86.zip (7.3 KB)
- 下载次数: 17
发表评论
-
Discuz 插件开发
2014-11-12 15:00 1984首先开启开发者模式,在config\config_glob ... -
php session存数据库
2013-11-27 21:43 1595php.ini改称 session.save_handle ... -
PHP在WIN下操作socket
2013-08-29 17:05 1483TCP/UDP Socket调试工具 PHP在WI ... -
防止恶意注册和暴力破解
2012-07-10 21:43 42441验证码2token令牌。(同理随机input的name ... -
php class中public,private,protected的区别,以及实例
2012-05-03 21:12 1817一,public,private,protected ... -
session共享之memcache Redis
2011-11-02 15:11 76352.Redis的特点 Redis本质上是一个Key ... -
图片处理神器ImageMagick以及PHP的imagick扩展
2011-09-26 18:16 2064ImageMagick是一套功能强大、稳定而且开源的工具集 ... -
PHP获取MAC地址
2011-09-26 17:57 1464获取网卡的MAC地址原码;目前支持WIN/LINUX系统 获取 ... -
PHP检测远端文件是否存在
2011-06-20 14:45 2160<?php $url = 'http://exampl ... -
php 扩展检查并加载
2011-06-16 15:41 1961<?php /** *列出所有加载的扩展及其包含的 ... -
php 魔术方法 魔术常量
2011-06-16 15:13 1505魔术常量(Magic constant ... -
php实现计划任务与持续进程实例 fsockopen
2011-06-09 09:39 2732Web服务器执行一个PHP脚本,有时耗时很长才能返回执行结果, ... -
php如何转换html标签
2011-06-09 09:37 3170php如何转换html标签,使其能在浏览器中正常显示?在编 ... -
PHP 之session cookie
2011-06-01 11:07 2030cookie和session有什么用 ... -
PHP5常用函数
2011-05-18 10:13 1786PHP已经更新到很多个版本,最近用的比较多的要数PHP5。 ... -
php跨平台总结 常用预定义常量
2011-05-17 17:38 1957<?php echo PHP_EOL; ... -
abstract class和interface有什么区别
2011-05-06 21:10 1578抽象类和接口的异同1. 相同点:(1)两者都是抽象类,都不能实 ... -
PHP断点下载
2011-03-23 17:07 2016如果我们的网站提供文件下载的服务,那么通常我们都希望下载可 ... -
scws中文分词组件
2011-03-02 17:04 26791. 根据您当前用的 PHP 版本,下载相应已编译好的 php ... -
PHP 读取大文件
2011-02-18 16:27 2578最近在工作中遇到了需要读取系统日志的问题,日志文件很大,大概 ...
相关推荐
"Win10下部署IIS,并运行php项目" Win10下部署IIS,并运行php项目是一种常见的开发环境搭建方式。本文将详细介绍如何在Win10下部署IIS,并运行php项目。 知识点1:IIS的安装和配置 IIS(Internet Information ...
"pecl-5.2.5-Win32.zip"是一个专门为Windows 32位系统编译的PECL扩展包,版本为5.2.5。这个压缩包包含了多个PHP扩展的动态链接库(DLL)文件,这些文件使得PHP在运行时能够加载并使用特定的模块。 1. `...
windows服务器下实现php程序自动执行! 如何实现? 前提: ... 必须在PHP 的安装目录的\ext\下有这个php_win32service.dll文件 必须有php.ini文件里面开启 extension=php_win32service.dll 这个选项
PHP5.6.37-Win32-VC11-x64表明这是为64位Windows系统编译的,使用Visual C++ 11编译器构建。集成PHP到Apache中,你需要执行以下步骤: 1. **安装PHP**:解压php5.6.zip文件,获取php.ini-development或...
接下来是`php_win32service.dll`,这是一个PHP扩展,允许你在PHP环境中创建、管理和控制Windows服务。这对于将SQL Server配置为Windows服务尤其重要,因为这样可以使其在后台自动启动,即使没有用户登录也能保持运行...
3. 在安装过程中,记得勾选“Start Apache HTTP Server as a service”选项,以便Apache在系统启动时自动运行。 4. 安装完成后,可以在系统托盘中找到Apache图标,点击可以启动或停止服务。 二、PHP安装 1. 接下来...
2. 安装Apache:下载最新稳定版的Apache(例如apache_2.2.9-win32-x86-no_ssl-r2.msi),双击运行安装向导,按照提示进行下一步。 3. 设置安装选项:在“Network Domain”中输入你的域名,"Server Name"输入服务器...
当使用administrator权限创建Web目录,并在其下进一步创建如Sprvk目录时,如果将Sprvk目录及其子目录Data和Web的权限设置为administrator+web_spvrk(IIS运行账号),则可能会遇到PHP程序无法正常运行的问题。...
在安装Apache时,推荐选择"for All Users, on Port 80, as a Service -- Recommended"选项,以确保服务在所有用户登录时自动启动。若80端口无法使用,可改为其他未被占用的端口,如8080,并在http.conf文件中相应地...
运行下载的mysql-essential-5.0.27-win32.msi,选择自定义安装,改变安装路径到D:\Local\MySQL。安装过程中跳过Sign Up向导,选择“Configure the MySQL Server now”,并按照提示进行详细配置,如选择Server ...
7. **集成到Windows服务**:为了使Apache在系统启动时自动运行,可以使用"bin"文件夹中的"apache_service.bat"脚本将Apache注册为Windows服务。 8. **安全与优化**:安装OpenSSL后,你可以配置SSL证书以启用HTTPS。...
BAT批处理脚本是Windows操作系统中一种非常实用的自动化工具,它通过编写一系列的命令行指令,实现批量执行任务,极大地提高了...在运行任何批处理脚本前,请务必了解其功能和可能的影响,避免对系统造成不必要的损害。
1. `start_for_win.bat`:这是一个Windows批处理文件,可能是用来启动在线客服系统的命令行脚本,方便在Windows环境下运行。 2. `info.ini`:这可能是一个配置文件,包含关于系统的信息或者设置,如数据库连接信息...
- 下载完成后,双击安装文件`appserv-win32-2.5.7.exe`启动安装程序。 - 在安装向导中,点击“Next”继续。 - 接受许可协议,点击“I Agree”。 - 选择安装目录,默认为"C:\AppServ",也可自定义。 - 选择要安装的...
1. **下载并运行** AppServ 的安装程序 `appserv-win32-2.5.9.exe`。 2. **选择安装选项**:在安装过程中,需要注意的是不要勾选安装 `phpmyadmin`,因为这是一个用于管理MySQL的PHP工具,在本次安装中并不需要。 3....
4. **作为服务**:为了使其在系统启动时自动运行,可以将其注册为Windows服务,使用`install-service.bat`脚本进行安装。 **三、使用与编程接口** 1. **客户端库**:Memcached支持多种编程语言的客户端库,如PHP、...
1. **安装准备**:下载MySQL安装包`mysql-essential-4.1.22-win32.msi`并运行。 2. **欢迎界面**:出现MySQL Server 4.1安装向导。 3. **选择安装模式**:选择[Custom]自定义安装模式。 4. **安装组件选择**:保持...
2. 下载完成后,双击安装文件`appserv-win32-2.5.7.exe`启动安装程序。 3. 在安装向导的欢迎界面,点击“Next”继续。 4. 阅读并接受许可协议后,点击“I Agree”。 5. 选择安装目录,默认为“C:\AppServ”,如有...