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

2023-11-16

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

张映 发表于 2011-07-15

分类目录: 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测试文件,很简单吧

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

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不是。

收藏、分享这篇文章!


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shell调用php脚本,并传递参数 的相关文章

  • 如何快速转载CSDN中的博客

    前言 对于喜欢逛CSDN的人来说 看别人的博客确实能够对自己有不小的提高 有时候看到特别好的博客想转载下载 但是不能一个字一个字的敲了 这时候我们就想快速转载别人的博客 把别人的博客移到自己的空间里面 当然有人会说我们可以收藏博客啊 就不需
  • HTTP 304状态码的详细讲解

    HTTP 304状态码的详细讲解 304状态码或许不应该认为是一种错误 而是对客户端有缓存情况下服务端的一种响应 整个请求响应过程如下 客户端在请求一个文件的时候 发现自己缓存的文件有 Last Modified 那么在请求中会包含 If
  • 到底什么是非线性规划?

    本文转自新浪博客 到底什么是非线性优化 作者 那些年的那些偏执 网址 http blog sina com cn s blog 7445c2940102x3x4 html 作者系在读博士生 文章写的非常浅显易懂 本文除转载之外 做简单修改整
  • vue项目页面进行数据更新的三种方法

    1 场景 在处理列表时 常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求 2 遇到的问题 用vue router重新路由到当前页面 页面是不进行刷新的 3 采用window reload 或者router go 0 刷新时 整个
  • IT校招指南——超实用

    http blog csdn net liuqiyao 01 article details 26567237
  • 开源项目使用及选型

    一 为什么选择开源项目 1 快速开发 2 站在巨人的肩膀上 成熟的开源项目 功能完善 设计优秀 细节点考虑周全 不用像自己开发一样需要从头去全面开发 测试 完善 本身也是好的学习材料 Android 本身就是在 Linux Java 上发展
  • C# 中的委托和事件(详解)

    C 中的委托和事件 委托和事件在 NET Framework 中的应用非常广泛 然而 较好地理解委托和事件对很多接触 C 时间不长的人来说并不容易 它们就像是一道槛儿 过了这个槛的人 觉得真是太容易了 而没有过去的人每次见到委托和事件就觉得
  • 使用GCD处理后台线程和UI线程的交互(转自唐巧的技术博客)

    使用GCD FEB 22ND 2012 什么是GCD Grand Central Dispatch GCD 是Apple开发的一个多核编程的解决方法 该方法在Mac OS X 10 6雪豹中首次推出 并随后被引入到了iOS4 0中 GCD是
  • Android 控件 RecyclerView 看这篇就够了

    Android 控件 RecyclerView 概述 RecyclerView是什么 从Android 5 0开始 谷歌公司推出了一个用于大量数据展示的新控件RecylerView 可以用来代替传统的ListView 更加强大和灵活 Rec
  • 巧妙利用kickstart实现自动化安装全get

    本文转载链接 https blog csdn net Nanjing bokebi article details 103035331 运用kickstart服务创建应答文件 实现自动化运维 运维自动化发展历程及技术应用 理解kicksta
  • Advanced Installer汉化版教程(打包程序,安装包制作)

    Advanced Installer汉化版教程 转载 打包程序 安装包制作 下载地址 http www crsky com soft 6776 html 1 新建一个安装工程 2 详细的设置工程文件 A 设置产品信息以及在控制面板里的一些信
  • qt退出定位

    https blog csdn net u011430225 article details 52812854
  • 什么是to B 业务

    引言 To B or Not to B there is not a question 对于企业而言 数据分析的作用主要体现在三大领域 1 是对业务的改进优化 2 是帮助业务发现机会 3 是创造新的商业价值 数据分析最重要的是基于对业务的理
  • Cache 和 Buffer 有什么区别

    Cache 和 Buffer 有什么区别 转载 talkwithtrend https mp weixin qq com s YsEOBVS7fXgrGXnXH1I0MQ Cache和Buffer简单的说 Cache是加速 读 而buffe
  • SpringCloud与SpringBoot的版本对应关系

    在SpringCloud官网 https spring io projects spring cloud 可以看到 当前 2021年11月 SpringCloud的最新GA版本是2020 0 4这一版 除了2020 0 X版本外 Sprin
  • 解密蓝牙mesh系列

    转载自 蓝牙技术联盟 蓝牙mesh网络基本概念 本周跟大家分享解密蓝牙mesh系列第四篇 点这里查看第一篇 第二篇和第三篇文章 同时也是蓝牙mesh网络基本概念的第二部分 借助蓝牙mesh 您将能够创建大型网络并支持成千上万的设备之间进行安
  • optimizeinplace

    上篇介绍了 X文件网格的渲染方法 如果需要创建自己的网格文件 并将它渲染出来 那么可以考虑创建一个空的网格 然后读取网格文件内容 将顶点 材质和纹理数据写入以上的网格相关缓冲区中 创建一个自定义顶点格式的空Mesh网格可由 D3DXCrea
  • 如何判断Linux服务器是否被入侵?

    1 如何判断自己的服务器是否被入侵 背景 随着开源产品的越来越盛行 作为一个Linux运维工程师 能够清晰地鉴别异常机器是否已经被入侵了显得至关重要 个人结合自己的工作经历 整理了几种常见的机器被黑情况仅供参考 以下情况是在CentOS 6
  • 38个MySQL数据库的小技巧

    1 如何快速掌握MySQL 培养兴趣 兴趣是最好的老师 不论学习什么知识 兴趣都可以极大地提高学习效率 当然学习MySQL 5 6也不例外 夯实基础 计算机领域的技术非常强调基础 刚开始学习可能还认识不到这一点 随着技术应用的深 入 只有有
  • web3无法在浏览器远程调用miner.start()

    原文 https bitshuo com topic 58841835fd9ca2790427eb67 web3无法在浏览器远程调用miner start 首先我在启动私链时已经调用了miner模块 代码如下 geth identity s

随机推荐

  • html.4

    一 表格的结构标签 可以确定表格在浏览器中的位置 htead 代表表格的头部 tbody 代表表格的主体 tfoot 代表表格的尾部 shift alt 鼠标 选中没以后的相同位置
  • c++ char数组转string

    代码 char数组的路径转string的路径 void charArrayPath2string char char array path MAX PATH std string string path std stringstream s
  • Shell脚本函数应用

    记录 429 场景 Shell脚本函数应用 定义函数 函数调用 函数传参 版本 CentOS Linux release 7 9 2009 1 普通函数 示例普通函数是没有入参和返回值 1 1脚本 脚本名称 b2023051701 sh 脚
  • Android基础知识(二)简单控件

    一 文本显示 考虑到结构样式相分离的思想 我们往往在XML中设置文本
  • ABAP 向上取整和向下取整 CEIL & FLOOR

    ls taba 2 zjybs floor lv zlssl ls taba 2 bstrf 向上取整 CEIL 改为向下取整 FLOOR DATA a TYPE mseg menge b TYPE mseg menge c TYPE ms
  • shell 与用户交互

    bash shell如何获取命令行参数 添加到命令后的数据 命令行选项 确定命令行为的英文字母 键盘输入数据 操作命令行参数 1 读取参数 bash shell用位置参数变量 positional parameter 存储命令行输入的所有参
  • 第一次考CCF有感

    DWT来查寝时告诉我ccf能查分了 突然间就很紧张 很忐忑 我不知道我将面临的分数会是多少 说实话我幻想过400分 因为我感觉这次题目相比以前还是要简单一些的 毕竟图论都没考 表面上 2018 12 17 登上网址 查询成绩 这短短的几秒仿
  • 分库分表之拆分键设计

    众所周知 在现实世界中 每一个资源都有其提供能力的最大上限 当单一资源达到最大上限后就得让多个资源同时提供其能力来满足使用方的需求 同理 在计算机世界中 单一数据库资源不能满足使用需求时 我们也会考虑使用多个数据库同时提供服务来满足需求 当
  • spring-boot返回数据为null时返回空字符串

    在项目开发中 我们会遇到一些null值 如果不想让返回数据有null值 而是返回空字符串该怎么办捏 So Easy 我们做一下配置就好了 1 Jackson null值处理 spring boot是对Jackson默认支持的 所以有了web
  • (十一) 编译工具cmake

    文章目录 1 简单例子 2 管理工程 3 生成和使用共享库 3 1生成动态共享库 3 2引用库文件 4 其他 4 1环境变量 4 2系统信息 4 3 主要的开关选项 5 常用指令 5 1ADD DEFINITIONS 5 2 ADD DEP
  • k8s Unable to connect to the server: EOF 问题解决

    原因是K8s 没有启动成功 如下状态方位 启动成功 启动失败的原因多数是镜像下载失败 找到 Docker 的设置页面 在 Docker Engine 页面 将镜像网站的地址加入到右侧配置文件的 registry mirrors 节点下面 这
  • java毕业设计——基于java+Eclipse+jsp的网上手机销售系统设计与实现(毕业论文+程序源码)——网上手机销售系统

    基于java Eclipse jsp的网上手机销售系统设计与实现 毕业论文 程序源码 大家好 今天给大家介绍基于java Eclipse jsp的网上手机销售系统设计与实现 文章末尾附有本毕业设计的论文和源码下载地址哦 需要下载开题报告PP
  • 攻防世界Web题 - unseping 总结

    攻防世界Web题 unseping 总结 1 审题 进入题目 可以看出来是典型的php反序列化题目 2 源代码分析
  • 论文查找路径 查找IEEE、ScienceDirect论文 免费查看的方法

    IEEE ScienceDirect转免费查看网站网址 IEEE和ScienceDirect上的论文不少质量不错的 但是不少都是要收费才能下载查看的 怎么办呢 有国外大神提供的工具来帮忙 打开上面的网址 里面提供了三个网址 随便打开一个 仅
  • RabbitMQ--扩展--2.2--性能测试--linux.md

    RabbitMQ 扩展 2 2 性能测试 linux md 1 下载 https github com rabbitmq rabbitmq perf test releases tag v2 18 0 rabbitmq perf test
  • python发邮件--中文附件报错问题

    coding utf 8 Created on Thu Apr 11 14 01 30 2019 author zhang peng coding utf 8 import os import sys import smtplib from
  • 擎创技术流

    上期跟大家聊了下eBPF的发展历史还有特性 点击这里 擎创技术流 深入浅出运维可观测工具 一 聊聊eBPF的前世今生 一键回看上期精彩内容 这期主要跟大家分享下eBPF在应用过程中可能出现的问题 希望能帮到遇到类似问题的朋友 话不多说 我们
  • GIOU:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression

    废话不多说 先看motivation There is a gap between optimizing the commonly used distance losses and maximizing this metric value
  • 高并发应用实践——缓存简介

    简介 随着互联网的普及 内容越来越复杂 用户和数据量越来越大 所以我们的应用应该支持更高的并发数 但是由于我们的服务器和数据库服务器资源量是有限的 所以如何更加高效的利用这有限的资源 并提供尽可能大的数据吞吐量 一个有效可行的办法就是引入缓
  • shell调用php脚本,并传递参数

    命令行执行带参数的php脚本 并取得参数 张映 发表于 2011 07 15 分类目录 php 一 为什么我们要在命令行下运行php脚本呢 个人理解 主要有二个原因 1 利用crontab去跑php 可以给服务器减压 当然在这里有一个条件