可以啊,curl可以,>
首先
假如 远程服务器有这些文件php脚本和shell脚本(分析数据的脚本)是在目标服务器上
aphp
dataphp
datash
然后在a脚本里面运行shell命令,exec("cd ~/php/ && php /dataphp &");
这样php就会运行dataphp 可以在dataphp里面在运行sh脚本
或者直接在aphp里面运行sh脚本
然后把计算好的数据存入数据库
这样你就可以用>
大概了解没?
大哥 你看明白没啊 是要给远程发送shell命令 不是本地执行好吧?
远程动态输入命令?貌似不太安全啊~!
可以这样。aphpcmd=cd ~/ && sh datash
然后aphp里面这样写
exec("{$_GET["cmd"]}");
太危险,相当不推荐
可以做好命令,然后去执行
aphpcmd=a
然后aphp里面这样写
switch ($_GET["cmd"]}){
case "a":
exec("cd ~/php/ && php /dataphp &");
break;
case "b":
exec("cd ~/php/ && php /xxxxphp &");
break;
}
Linux中crontab是实现定时执行的指令,利用这个指令我们就可以定时执行某一个php文件,从而实现用PHP做Linux自动执行脚本。如何用PHP作Linux自动执行脚本?
在安装PHP的时候,会产生一个可执行文件,文件名为php将它 copy 到 /usr/local/bin 下在终端方式执行php程序:
php -q onlinnumphp
PHP 原本是应用在网页应用的﹐因此它会送出 HTML 的HEADER﹐但是在此我们是要将 PHP 用作 Shell Script﹐"-q" 就是表示不要送 出 HEADER 的意思你可以试试看不加上 -q 的显示结果。此时你已经可以在终端方式下执行PHP 代码了。 linux命令:cron daemon
这是一个系统中常驻的服务,功能在于执行例行性的工作,如每天一次或每月一 次检查磁盘。cron daemon 会在每分钟检查一次排定的工作表(crontab),看看是否有要执行的指令,所有的输出会以mail寄给用户。
设置 crontab
命令:crontab -e
该命令呼叫vi编辑器来编辑执行的清单。例如
0 0 1,15 fsck /home
1 /home/myhome/printhello
每一行代表一项排定的工作,在指令前为排定的时间,总共有5个栏位,以空格间隔,由左到右依序如下:
--------------------------
分钟 从00到 99
点钟 从0到 24
日 从01到31
月 从01到12
星期 从01到07,代表星期一到星期日
号表示"每" ,如每天执行,就在第三栏填号
--------------------------
所以上例的两项工作是:
每月1号和15号检查/home 磁盘
每小时的第一分执行 /home/myhome/printhello 这个文件
查看crontab:crontab -l
删除crontab:crontab -r
我们就知道该怎么利用PHP和crontab命令作Linux自动执行脚本了。
还需要注意什么问题?
如果php中有使用数据库,如oracle等,执行脚本中还需export Oracle的环境设置。因为cron下的脚本执行的用户都是在没登陆状态下执行的,少了很多系统里设置的环境变量的值,在连接数据库的时候会出问题。php定时执行任务的几个方法(网上搜集,未验证)1 Linux下crontab, windows下计划任务 2 找个被频繁调用的网页, 里面加上一个检测代码 3 set_time_limit(0); ignore_user_abort(true);4 用一台机器开着页面,使用AJAX完成这个定时任务(我自己添加的,觉得也算是一种方法)由于没有管理权限,方法1不靠谱;方法2的前提是必须有大量的用户群体;方法3可以一试,但是服务器一旦重启就会失效。方法4,时间可能不是很精确,而且客户端页面一直开启似乎也很难做到。运行PHP脚本程序,必须借助PHP预处理器、WEB服务器和WEB浏览器,必要时还需借助数据库服务器。
1WEB浏览器
也叫网页浏览器,简称浏览器。常见的浏览器有微软的Internet Explorer(IE)浏览器、Mozilla的Firefox浏览器等。
2PHP预处理器
PHP Preprocessor的功能是将PHP程序中的代码解释为文本信息,这些文本信息中可以包含HTML代码。
3WEB服务器
WEB Server也称为)服务器,功能是解析>我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。
首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用root用户登录。在命令行中键入:
crontab -e
之后就会打开一个文件,并且是非编辑状态,则是vi的编辑界面,通过敲键盘上的i,进入编辑模式,就可以编辑内容。这个文件中的每一行就是一个定时任务,我们新建一行,就是新建一条定时任务(当然是指这一行内按照一定的格式进行书写)。我们现在来举个例子,增加一行,内容如下:
00 lynx -dump >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)