首页 > 编程知识 正文

定时运行php文件,php运行php文件

时间:2023-12-27 22:26:02 阅读:323426 作者:WGWD

本文目录一览:

windows定时执行php文件里面的sql

很少会在win下执行定时任务,如果环境必须,那么可以用windows的计划任务,用bat去执行:

1、写一个PHP程序,命名为test.php,内容如下所示:

?

$fp = fopen("test.txt", "a+");

fwrite($fp, date("Y-m-d H:i:s") . " 成功成功了!n");

fclose($fp);

?

程序大胆地写,什么includerequire尽管用,都没问题,尽量注意文件路径问题

2、新建Bat文件,命名为test.bat,内容如下所示:

D:phpphp.exe -q D:websitetest.php

//相应目录自己改上

3、建立WINDOWS计划任务:

开始–控制面板–任务计划–添加任务计划

浏览文件夹选择上面的bat文件

设置时间和密码(登陆WINDOWS的)

保存即可了。

4、over! 可以右键计划任务点“运行”试试

如何使用Linux的Crontab定时执行PHP脚本的方法

我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用root用户登录。在命令行中键入:

crontab -e

之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。这个文件中的每一行就是一个定时任务,我们新建一行,就是新建一条定时任务(当然是指这一行内按照一定的格式进行书写)。我们现在来举个例子,增加一行,内容如下:

00 * ** * lynx -dump

这是什么意思呢?实际上上面这一行由两部分组成,前面一部分是时间,后面一部分是操作内容。例如上面这个,

00 * ** *

就是指当当前时间的分钟数为00时,执行该定时任务。时间部分由5个时间参数组成,分别是:

分 时 日 月 周

第1列表示分钟1~59 每分钟用或者 */1表示,/n表示每n分钟,例如*/8就是每8分钟的意思,下面也是类推

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

整个句子的后面部分就是操作的具体内容。

如何使用Ubuntu中的Crontab定时执行PHP文件

先确认自己在LINUX Ubuntu 服务器上php的安装模式,以CGI 模块还是Apache模块方式安装? 如果不确定php安装模式,可以使用 phpinfo() 函数查看:将?php phpinfo(); ? 写在php文件中上传到网站服务器,访问该页面,就在页面顶部我们找到“Server API”,如果类似“Apache 2.0 Handler”,那么就是apache模块;否则php是CGI 模式(shell 命令行模式)。这两种不同的php安装模式,正对应于前面介绍的ubuntu crontab 定时执行php的两种解决方法。

CGI 编译

如果Server API是cgi,那么在需要cron执行的php脚本的第一行额外加入一段代码#!/usr/bin/php -q(类似PERL语法),指定服务器中php可执行程序的位置,具体步骤如下:

1. 确认Ubuntu系统已经安装了php5-cli模块,安装命令:apt-get install php5-cli。在目录 /usr/bin/php下生成 php可执行程序。

2. 编辑待定时执行的php脚本文件crontab.php,如:

#!/usr/bin/php -q

?php

$file = “/var/www/”.date(‘H’).’_’.date(‘i’).’_’.date(‘s’).’.txt’;

file_put_contents($file,date(‘Y-m-d’));

?

3. 编辑 crontab 任务:

打开终端,输入命令:crontab -e,

Select an editor. To change later, run ‘select-editor’.

1. /bin/ed

2. /bin/nano —- easiest

3. /usr/bin/vim.tiny

选择一个Ubuntu编辑器后,编辑/tmp/crontab.AuN7IQ/crontab 文件:

# m h dom mon dow command

在下面添加定时执行命令:

* * * * * php /path/to/your/cron.php

5个星号分别代表定时指定每分、小时、日、月、周。如每天的下午7点执行crontab.php,命令为:

* 19 * * * php /var/www/cron/crontab.php

然后按Ctrl+O保存,Ctrl+X退出。

4. 执行以下Crontab命令行

Shell crontab crontab

确认crontab.php的权限为可执行("chmod 755 /var/www/cron/crontab.php")。

Apache 模块

如果php安装是以 apache 模式运行的,那么在要在ubuntu服务器定时执行的php脚本开头就不用加 #!/usr/bin/php -q 这一行。php脚本在ubuntu 通过crontab的定时执行通过Lynx浏览器的自动访问来完成。

1. Lynx浏览器安装。

Lynx浏览器是一款轻便的web浏览器,使用于大部分Unix 和Linux系统环境。安装命令:sudo apt-get install lynx。

2. 编辑cron任务,命令crontab -e

php如何实现定时任务,php定时任务方法,最佳

PHP制作定时任务(也称计划任务)的方法,大概分为2种:

现在基本所有的PHP框架,如:ThinkPHP,Yii,Laravel等等;它们都是单入口的形式,也就是说所有的请求都集合到index.php中,然后再由框架核心来根据请求参数的不同来分配到不同的控制器当中。基于单入口的形式,那么就可以做基于行为(例如TP3.2)或者说基于事件的定时任务。

系统自动的定时任务,比如Linux的crontab,windows的计划任务等。

两中方法各有所长各有所短

基于事件:这种利用的是框架本身提供的一些行为来实现,优点是:不需要特殊配置,只要项目能跑起来,那么定时任务也能执行。缺点是:灵活性比较差,必须要借助框架实现。

基于系统:基于操作系统来实现,优点是:灵活性很高,而且可控性也很好。缺点是:需要特殊配置,专业要求性比较强。

具体要使用哪种方法,可以依据自己的能力和项目需要来选择。最后附上TP3.2的定时任务配置,这个只需要配置就可以,如果想查看具体实现原理,可以查看/ThinkPHP/Library/Behavior/CronRunBehavior.class.php

第一步:/Application/Common/Conf目录下新建两个文件:

分别如:

/Application/Common/Conf/tags.php

/Application/Common/Conf/crons.php

1) 新建 tags.php,编辑内容如下:

return array(

'app_end' = array('BehaviorCronRunBehavior'),

);

2) 新建 crons.php ,编辑内容如下:

return array(

'cron_1' = array('myplan', 1),

);

第二步:/Application/目录下新建 Cron文件夹,里面新建文件myplan.php文件

路径如:/Application/Cron/myplan.php

编辑内容如下:

echo 11111;

查看是否运行成功,最简单的方法是查看/Application/Runtime/~crons.php,这个文件是否存在。

php定时执行任务怎么写?

借助crontab来编写;

编写定时执行脚本(单独的一个php文件,或者某个方法);

配置crontab,指定执行路径地址;

启动crontab服务即可。

linux定时任务能执行php文件吗

可以的,将php的安装目录设为

环境变量

,在

定时任务

php

php路径/php文件.php设定好执行时间,就可以执行了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。