shell调用php脚本,并传递参数

php中文网
发布: 2016-07-28 08:25:56
原创
1599人浏览过

命令行执行带参数的php脚本,并取得参数

 发表于 2011-07-15

分类目录: php

一,为什么我们要在命令行下运行php脚本呢?

个人理解,主要有二个原因:

立即学习PHP免费学习笔记(深入)”;

1,利用crontab去跑php,可以给服务器减压,当然在这里有一个条件,就是实时性要求不高。比如:sns中的好友动态,这个实时要求不高,但是数据量比较大,这个时候定时跑的话,会给web服务器,数据库服务器分担不小的压力。

2,就是我们要定时去完成某一事情,比如:我要删除一个月前,用户留言,这个时候,写的php脚本在crontab去执行,一天跑一次就行了。而不是手动去执行php程序。

二,命令行下执行带参数php,并取得参数

有一点很重要,就是命令行下执行php,是不走apache等这类东西的,没有什么http协议,所有get,post传参数根本不起作用,并且还会报错,如下:

zhangying@ubuntu:~$ php test.php?aaa=bbb

PHP开发实用指南 2.0
PHP开发实用指南 2.0

对于一个刚进入PHP 开发大门的程序员,最需要的就是一本实用的开发参考书,而不仅仅是各种快速入门的only hello wold。在开发的时候,也要注意到许多技巧和一些“潜规则”。PHP是一门很简单的脚本语言,但是用好它,也要下功夫的。同时,由于PHP 的特性,我一再强调,最NB 的PHP 程序员都不是搞PHP 的。为什么呢?因为PHP 作为一种胶水语言,用于粘合后端 数据库和前端页面,更多需

PHP开发实用指南 2.0 387
查看详情 PHP开发实用指南 2.0

Could not open input file: test.php?aaa=bbb

一般情况下,不需要向定时跑的php脚本传参数,但有的时候,是要的。

1,test.php测试文件,很简单吧

查看复制打印?

  1. print_r($argv);  
  2. echo "\n";  
  3. echo $argc;  
  4. echo "\n";  
  5. ?>  

2,命令行下调用

查看复制打印?

  1. zhangying@ubuntu:~$ php test.php aaa ccc  bbbb  
  2. Array  
  3. (  
  4.  [0] => test.php    //参数0,文件本身  
  5.  [1] => aaa         //参数1  
  6.  [2] => ccc         //参数2  
  7.  [3] => bbbb        //参数3  
  8. )  
  9.   
  10. 4      //$argc的值,参数的总数  

这种传参的方式,根shell脚本真的很像,

zhangying@ubuntu:~$ sh c1.sh aaa bbb

我向c1.sh传了二个参数aaa bbb,shell会得到三个参数,$0为文件本身,$1为参数1,$2为参数2。不同的是,php得到的是以数组的形势,而shell不是。


以上就介绍了 shell调用php脚本,并传递参数,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号