找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1184|回复: 0
打印 上一主题 下一主题

基于命令行执行带参数的php脚本并取得参数的方法

[复制链接]

2617

主题

2617

帖子

7789

积分

论坛元老

Rank: 8Rank: 8

积分
7789
跳转到指定楼层
楼主
发表于 2018-2-14 05:39:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            本文分析了基于命令行执行带参数的php脚本并取得参数的方法。分享给大家供大家参考,具体如下:
一、为什么我们要在命令行下运行php脚本呢?
个人理解,主要有二个原因:
1. 利用crontab去跑php,可以给服务器减压,当然在这里有一个条件,就是实时性要求不高。比如:sns中的好友动态,这个实时要求不高,但是数据量比较大,这个时候定时跑的话,会给web服务器,数据库服务器分担不小的压力。
2. 就是我们要定时去完成某一事情,比如:我要删除一个月前,用户留言,这个时候,写的php脚本在crontab去执行,一天跑一次就行了。而不是手动去执行php程序。
二、命令行下执行带参数php,并取得参数
有一点很重要,就是命令行下执行php,是不走apache等这类东西的,没有什么http协议,所有get,post传参数根本不起作用,并且还会报错,如下:
zhangying@ubuntu:~$ php test.php?aaa=bbb
Could not open input file: test.php?aaa=bbb
一般情况下,不需要向定时跑的php脚本传参数,但有的时候,是要的
1. test.php测试文件,很简单吧
2. 命令行下调用
zhangying@ubuntu:~$ php test.php aaa ccc bbbb
Array
(
[0] => test.php  //参数0,文件本身
[1] => aaa     //参数1
[2] => ccc     //参数2
[3] => bbbb    //参数3
)
4 //$argc的值,参数的总数
这种传参的方式,根shell脚本真的很像
[U]复制代码[/U] 代码如下:zhangying@ubuntu:~$ sh c1.sh aaa bbb
我向c1.sh传了二个参数aaa bbb,shell会得到三个参数,$0为文件本身,$1为参数1,$2为参数2。不同的是,php得到的是以数组的形势,而shell不是。
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基本语法入门教程》及《php面向对象程序设计入门教程
希望本文所述对大家PHP程序设计有所帮助。
            
            
您可能感兴趣的文章:
  • php 动态执行带有参数的类方法
  • PHP cURL初始化和执行方法入门级代码
  • PHP对文件夹递归执行chmod命令的方法
  • PHP-FPM之Chroot执行环境详解
  • 详解PHP实现执行定时任务
  • PHP定时执行任务的3种方法详解
  • 4种PHP异步执行的常用方式
  • crontab无法执行php的解决方法
  • PHP执行linux命令常用函数汇总
  • PHP实现动态执行代码的方法
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端