<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post/371/</link>
<title><![CDATA[如何让php自动运行？全解]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[代码编程]]></category>
<pubDate>Mon, 04 Feb 2008 01:09:44 +0000</pubDate> 
<guid>http://www.dzhope.com/post/371/</guid> 
<description>
<![CDATA[ 
	Discuz后台有个计划任务，可以使php自动运行。<br/>DZ计划任务的机制是这样：<br/>1.首先在到了触发计划任务的时间，有访问（会员，游客，搜索引擎的蜘蛛）然后触发该计划任务发生。（因为PHP是触发是语言，没有人去访问他，他什么也做不了。）<br/>2. 计划任务执行.<br/>3. 执行成功，返回执行成功的信息，更新到数据库中记录当前执行的时间，下一次需要执行的时间。<br/><br/>目前让php自动运行的的方法有以下几种方法：<br/>1：在windows下用计划任务<br/>　　在linux下用crantab<br/>缺点：必须具有服务器权限<br/><br/>2：用个某个网页隔一段时间去刷新，比如用js或者php程序来实现。<br/>　　缺点：必须用某个工具将该页开着。<br/><br/>3：在有用户访问的时候触发<br/> &nbsp; &nbsp;缺点：必须在用户访问的页面里包含触发程序。<br/><br/><br/>用crontab定时执行<br/><br/><br/>在linux,有多种方式可以实现定时运行，使用最灵活的应该是crontab, 在使用crontab必须特别注意环境变量问题，在此以执行oracle的sqlplus为例， 说明crontab的使用方法。<br/>1：crontab 使用方法： crontab [ -e &#124; -l &#124; -r ] 文件名 -e:编辑任务 -l:显示任务信息 -r:删除定时执行任务信息 <br/><br/>2：crontab中处理的文件格式为 分钟 小时 日期 月 星期 执行的文件名 *代表所有条件 5 * * * * rem /home/oracle/execsql 代表每个小时的5分钟时执行/home/oracle/execsql文件<br/><br/>3：对于sql等需要在特定的环境变量下运行的命令，在执行文件中必须列出。 如在oracle下执行sqlplus，必须按以下格式编写： $ cat execsql ORACLE_HOME=/ora815;export ORACLE_HOME ORACLE_OWNER=oracle;export ORACLE_OWNER ORACLE_SID=ora815;export ORACLE_SID ORACLE_BASE=/ora815/app/oralce;export ORACLE_BASE LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH PATH=$PATH:$ORACLE_HOME/bin:$LD_LIBRARY_PATH;export PATH NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280;export NLS_LANG /ora815/bin/sqlplus test1/test1 @test1.ext (执行@test1.ext文件，数据库的用户名/密码为test1/test1)<br/><br/>其中要求execsql为可执行的程序 $ ls -al execsql -rwxr-xr-x 1 oracle dba 374 Oct 07 15:17 execsql<br/><br/>使用crontab，使php程序在12:00运行<br/><br/>就按照下面的格式改一下,加在crontab就行了<br/>00 0 * * * cd &nbsp;/你的程序路径;php 你的程序名字.php<br/><br/>这个需要编译的时候有cli或者cgi模式的php.<br/><br/><br/><br/>Tags - <a href="http://www.dzhope.com/tags/php%25E8%2587%25AA%25E5%258A%25A8%25E8%25BF%2590%25E8%25A1%258C/" rel="tag">php自动运行</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post/371/#blogcomment2938</link>
<title><![CDATA[[评论] 如何让php自动运行？全解]]></title> 
<author>TT &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 12 Feb 2008 19:26:05 +0000</pubDate> 
<guid>http://www.dzhope.com/post/371/#blogcomment2938</guid> 
<description>
<![CDATA[ 
	学习了
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post/371/#blogcomment2939</link>
<title><![CDATA[[评论] 如何让php自动运行？全解]]></title> 
<author>CCEN &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Tue, 12 Feb 2008 19:37:59 +0000</pubDate> 
<guid>http://www.dzhope.com/post/371/#blogcomment2939</guid> 
<description>
<![CDATA[ 
	其实,可以用SPIDER自动激活....
]]>
</description>
</item>
</channel>
</rss>