找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 83|回复: 0

PHP:通过proc_open执行指定php命令

[复制链接]

1万

主题

918

回帖

2万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
2
听众
1
威望
57
贡献
11962
违规
0
书币
5662
注册时间
2020-4-8

论坛元老灌水之王

发表于 2021-11-16 01:54 | 显示全部楼层 |阅读模式
最近在研究PHP的定时任务,各种查找各种搜索没有找到合适的结果。
最后在一php小偷程序中查看到了这个PHP定时任务。
其实说下来,也不算是一个定时,只是不断的通过PHP脚本去执行php命令

整个代码我进行了一定的修改,也算是精简了一部分。

[PHP] 纯文本查看 复制代码
/**
      * [url=home.php?mod=space&uid=952169]@Param[/url] $comm  str  命令行内容
      * @param $file       dir  php可执行文件
      */
public function CreatCliExec($comm='',$file = 'php'){
    global $zbp;
    $descriptorspec = array(
        0 => array('pipe', 'r'),  
        1 => array('pipe', 'w'),  
        2 => array('pipe', 'w')
    );
    $pipes=array();
    $otherOptions=$this->IsWin?array('suppress_errors'=>true,'bypass_shell'=>true):array();
 
    $comm = $file . ' ' . $comm;
    $handle=proc_open($comm,$descriptorspec,$pipes,null,null,$otherOptions);
}


其实,到最后,就是不断的去执行:proc_open($comm,$descriptorspec,$pipes,null,null,$otherOptions);

用命令的好处就在于每次执行的pid不一样,不像使用web的set_limit_time(0),一直占用一个进程。

本人才疏学浅,以上代码不一定是最佳代码,只是本人在实际测试中获取的可以正常使用的结果

Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2024-4-26 07:02 , Processed in 0.060045 second(s), 27 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2023, Tencent Cloud.

快速回复 返回顶部 返回列表