php linux脚本 linux安装php

各位老铁们好,相信很多人对php linux脚本都不是特别的了解,因此呢,今天就来为大家分享下关于php linux脚本以及linux安装php的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

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

写好要执行的PHP文件

然后使用Crontab对应的时间格式等进行执行即可

linux crontab&每隔10秒执行一次 linux下定时执行任务的方法

=============CRONTAB执行PHP文件============

原理:Crontab sleep结合实现每N秒执行文件,延时方法 sleep N

注意:

60必须能整除间隔的秒数(没有余数),例如间隔的秒数是2,4,6,10,12等。

如果间隔的秒数太少,例如2秒执行一次,这样就需要在crontab加入60/2=30条语句。不建议使用此方法,可以使用下面介绍的第二种方法。

在LINUX中你应该先输入crontab-e,

然后就会有个vi编辑界面,

再输入0 3** 1/clearigame2内容到里面

:wq保存退出。

在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps-ef|grep cron]。

cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。

cron的配置文件称为“crontab”,是“cron table”的简写。

一、cron在3个地方查找配置文件:

1、/var/spool/cron/这个目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名,比如tom建的crontab任务对应的文件就是/var/spool/cron/tom。

一般一个用户最多只有一个crontab文件。

二、/etc/crontab这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab。

三、/etc/cron.d/这个目录用来存放任何要执行的crontab文件或脚本。

四、权限

crontab权限问题到/var/adm/cron/下一看,文件cron.allow和cron.deny是否存在

用法如下:

1、如果两个文件都不存在,则只有root用户才能使用crontab命令。

2、如果cron.allow存在但cron.deny不存在,则只有列在cron.allow文件里的用户才能使用crontab命令,如果root用户也不在里面,则root用户也不能使用crontab。

3、如果cron.allow不存在, cron.deny存在,则只有列在cron.deny文件里面的用户不能使用crontab命令,其它用户都能使用。

4、如果两个文件都存在,则列在cron.allow文件中而且没有列在cron.deny中的用户可以使用crontab,如果两个文件中都有同一个用户,

以cron.allow文件里面是否有该用户为准,如果cron.allow中有该用户,则可以使用crontab命令。

在crontab文件中如何输入需要执行的命令和时间。该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。

每个域之间使用空格或者制表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands

合法值 00-59 00-23 01-31 01-12 0-6(0 is sunday) commands(代表要执行的脚本)

除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。

基本格式:

*****command

分时日月周命令

第1列表示分钟1~59每分钟用*或者*/1表示

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

第3列表示日期1~31

第4列表示月份1~12

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

第6列要运行的命令

crontab文件的一些例子:

#每晚的21:30重启apache。

30 21***/usr/local/etc/rc.d/lighttpd restart

#每月1、10、22日

45 4 1,10,22**/usr/local/etc/rc.d/lighttpd restart

#每天早上6点10分

10 6*** date

#每两个小时

0*/2*** date

#晚上11点到早上8点之间每两个小时,早上8点

0 23-7/2,8*** date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 11 4* mon-wed date

#1月份日早上4点

0 4 1 jan* date

很多时候,我们计划任务需要精确到秒来执行,根据以下方法,可以很容易地以秒执行任务。

以下方法将每10秒执行一次#执行PHP文件

# crontab-e

***** php/www/web/test.php

***** sleep 10; php/www/web/test.php

***** sleep 20; php/www/web/test.php

***** sleep 30; php/www/web/test.php

***** sleep 40; php/www/web/test.php

***** sleep 50; php/www/web/test.php

每5秒执行一次

***** for i in `seq 120`; do awesome_scripts& sleep 0.5; done

===================执行脚本==================

原理:每分钟执行脚本,使用for语句循环实现每N秒执行文件

注意:如果60不能整除间隔的秒数,则需要调整执行的时间。例如需要每7秒执行一次,就需要找到7与60的最小公倍数,7与60的最小公倍数是420(即7分钟)。

1.vim crontab1.sh

#!/bin/bash

step=2#间隔的秒数,不能大于60

for(( i= 0; i< 60; i=(i+step))); do

$(php'/www/web/test.php')

sleep$step

done

exit 0

2.crontab-e执行脚本每分钟执行

# m h dom mon dow command

*****/home/php/crontab/crontab.sh

每7分钟执行一次,60*7= 420,则循环的时候循环最大是420;则 crontab.sh step的值为7,循环结束条件i< 420, crontab-e可以输入以下语句来实现

# m h dom mon dow command

*/7****/home/php/crontab/crontab.sh

Unix/Linux中如何直接执行PHP脚本文件

使用Linux系统搭建完整的PHP环境后,用户常会遇到执行PHP脚本需要使用php myscript.php的方式,感觉较为繁琐。实际上,Linux系统支持直接执行PHP脚本文件。具体操作步骤如下:

首先,编写PHP脚本文件。例如,创建名为test_run.php的文件,内容如下:

Here is some plain text.

Here is the file name:

《?php

echo$argv[0], PHP_EOL;

脚本功能简单,输出当前脚本文件的名称。

接着,通过命令执行脚本:

yuanyu@ymac:phpworkspace$ php test_run.php hello

输出结果为:

Here is some plain text.

Here is the file name:

test_run.php

yuanyu@ymac:phpworkspace$

为脚本文件增加头信息及设置权限:

在文件首行添加php命令全路径,前缀为#!:

#!/usr/bin/php

保持脚本内容不变:

《?php

echo$argv[0], PHP_EOL;

执行赋予可执行权限:

yuanyu@ymac:phpworkspace$ chmod u+x。/test_run.php

即可直接执行脚本:

yuanyu@ymac:phpworkspace$。/test_run.php

输出结果为:

Here is some plain text.

Here is the file name:

/test_run.php

yuanyu@ymac:phpworkspace$

此方法在PHP官方文档中亦有提及,请参考:

文档中关于脚本在命令行运行的示例,请参照:

“Example#2 Script intended to be run from command line(script.php)”

如何通过Linux命令行使用和运行PHP脚本

在安装完PHP和Apache2后,需要安装PHP命令行解释器。

可以直接在Linux命令行使用 phpinfo()

这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:

3.以交互模式运行PHP并做一些数学运算。这里,‘-a‘选项用于以交互模式运行PHP。

4.可以仅仅将PHP脚本作为shell脚本来运行。首先,创建在当前工作目录中创建一个PHP样例脚本。

5.可以完全靠自己通过交互shell来创建简单函数。

阅读剩余
THE END