巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
赞助文档Help

详解PHP完成按时使命的五种体例

一佰互联网站建造(www.taishanly.com) 宣布日期 2020-04-27 10:44:09 阅读数: 468

按时运转使命对一个网站来讲,是一个比拟主要的使命,比方按时宣布文档,按时清算渣滓信息等,此刻的网站大大都都是接纳PHP静态说话开辟的,而对PHP的完成决议了它不Java和.Net这类AppServer的观点,而http和谈是一个无状况的和谈,PHP只能被用户触发,被挪用,挪用后会主动加入内存,不常驻内存。

若是非要PHP去完成按时使命, 能够或许或许或许有以下几种处置计划:

一. 简略间接不顾效果型

<?php
ignore_user_abort();//关掉阅读器,PHP剧本也能够或许或许或许持续履行.
set_time_limit(0);// 经由进程set_time_limit(0)能够或许或许或许让法式无穷定的履行下去
ini_set("memory_limit","512M"); // 设置内存限定
$interval=60*30;// 每隔半小时运转
do{
  //ToDo 
  sleep($interval);// 期待5分钟
}
while(true);

毛病谬误: 启动以后,便没法节制, 除非遏制 PHP 宿主. 不要接纳如许体例, 除非你是黑客.

二. 简略可控型

config.php

<?php
return 1;
?>
cron.php


  
ignore_user_abort();//关掉阅读器,PHP剧本也能够或许或许或许持续履行.
set_time_limit(0);// 经由进程set_time_limit(0)能够或许或许或许让法式无穷定的履行下去
$interval=60*30;// 每隔半小时运转
do{
  $run = include "config.php";
  if(!$run) die("process abort");
  
  //ToDo
  sleep($interval);// 期待5分钟
}
while(true);

经由进程 转变config.php 的 return 0 , 来完成遏制法式. 一个可行的体例是config.php文件和某个特别表单交互, 经由进程HTML页面设置一些变量来遏制设置装备摆设

毛病谬误: 占体系资本, 长时辰运转,会有一些意想不到的隐患。比方内存办理方面的题目 .

三. 简略改良型

<?php
$time=15;
$url="http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
/*
  function
*/
sleep($time);
file_get_contents($url);
?>

php剧本sleep 一段时辰以后经由进程拜候本身的体例持续履行. 就仿佛接力竞走一样..如许就能够或许或许够保障每个PHP剧本履行时辰不会太长. 也就不受time_out的限定了.

由于每次一次轮回php文件都是自力履行,以是这类体例,避免了time_out的限定. 可是最好和上边一样 加上节制代码. cofig.php , 以便能够或许或许或许遏制历程.

四. 办事器按时使命

Unix平台

若是您操纵 Unix 体系,您须要在您的 PHP 剧本的最后面加上一行特别的代码,使得它能够或许或许或许被履行,如许体系就能够或许或许够晓得用甚么样的法式要运转该剧本。为 Unix 体系增添的第一行代码不会影响该剧本在 Windows 下的运转,是以您也能够或许或许或许用该体例编写跨平台的剧本法式。

1、在Crontab中操纵PHP履行剧本

就像在Crontab中挪用通俗的shell剧本一样(详细Crontab用法),操纵PHP法式来挪用PHP剧本,每小时履行 myscript.php 以下:

# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php为PHP法式的路子。

2、在Crontab中操纵URL履行剧本

若是你的PHP剧本能够或许或许或许经由进程URL触发,你能够或许或许或许操纵 lynx 或 curl 或 wget 来设置装备摆设你的Crontab。

上面的例子是操纵Lynx文本阅读器拜候URL来每小时履行PHP剧本。Lynx文本阅读器默许操纵对话体例翻开URL。可是,像上面的,咱们在lynx号令行中操纵-dump选项来把URL的输入转换来规范输入。

00 * * * * lynx -dump http://www.sf.net/myscript.php


上面的例子是操纵 CURL 拜候URL来每5分履行PHP剧本。Curl默许在规范输入显现输入。操纵 "curl -o" 选项,你也能够或许或许或许把剧本的输入转储光临时文件temp.txt。

*/5 * * * * /usr/bin/curl -o temp.txt http://www.sf.net/myscript.php

上面的例子是操纵WGET拜候URL来每10分履行PHP剧本。-q 选项表现宁静形式。"-O temp.txt" 表现输入会发送光临时文件。

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.sf.net/myscript.php

五. ini_set函数用法详解

PHP ini_set用来设置php.ini的值,在函数履行的时辰生效,剧本竣事后,设置生效。无需翻开php.ini文件,就能够或许或许够点窜设置装备摆设,对假造空间来讲,很便利。

函数格局:

string ini_set(string $varname, string $newvalue)

不是一切的参数都能够或许或许或许设置装备摆设,能够或许或许或许检查手册中的列表。

罕见的设置:

@ ini_set("memory_limit", "64M");

menory_limit:设定一个剧本所能够或许或许或许请求到的最大内存字节数,这有益于写的不好的剧本耗损办事器上的可用内存。@标记代表不输入毛病。

@ini_set("display_errors", 1);

display_errors:设置毛病信息的种别。

@ini_set("session.auto_start", 0);

session.auto_start:是不是主动开session处置,设置为1时,法式中不必session_start()来手动开启session也可操纵session,

若是参数为0,又没手动开启session,则会报错。

@ini_set("session.cache_expire", 180);

session.cache_expire:指定会话页面在客户端cache中的无限期(分钟)缺省下为180分钟。若是设置了session.cache_limiter=nocache时,此处设置无 效。

@ini_set("session.use_cookies", 1);

session.use_cookies:是不是操纵cookie在客户端保管会话ID;

@ini_set("session.use_trans_sid", 0);

session.use_trans_sid:是不是操纵密码在URL中显现SID(会话ID),

默许是制止的,由于它会给你用户带来宁静危险:

    用户能够或许将包罗有用的sid的URL经由进程email/irc/QQ/MSN等路子告知其余人。

    包罗有用sid的URL能够或许会保管在公用电脑上。

    用户能够或许保管带有牢固稳定的SID的URL在他们的保藏夹或阅读汗青记实里。 基于URL的会话办理老是比基于Cookie的会话办理有更多的危险,以是该当禁用。

PHP按时使命是一个很是成心思的东西,以上便是本文供给的一些处置计划,你也能够或许或许或许经由进程本文的思绪,开辟出本身的一种处置计划。但愿能赞助到有须要的大师。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。比来几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。

相干消息more

04
04月
2017年SEO行业的远景和将来趋向

简介:Hi,大师好,我是宁波SEO从业职员,Diei.明天Diei给大师阐发下2017年SEO行业的远景和将来趋向,为甚么要阐发这个SEO... >>概况

26
03月
淘宝店肆纵贯车孵化爆款,年破费万万老司机带你

简介:中小卖家的引流畅器,爆款孵化的最好门路纵贯车;我信任良多卖家听到“纵贯车”这个词并不目生,淘系范畴三大付费引流东西之一,你是不是能够或许或许或许让它... >>概况

11
05月
挑选专业网站设想公司全攻略

眼下的专业网站设想公司鱼龙稠浊,设想程度也是千差万别,而作为企业要追求好的成长起首要选好一家办事商,在专业网站建造的手艺撑持下能力取得久远发... >>概况

28
04月
PHP速成大法

简略先容一下PHP的语法1、嵌入体例:近似ASP的<%,PHP能够或许或许或许是<?php或是<?,竣事标记是... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站