通常 PHP 都做 http 方式请求了,可以使用 GET or POST 方式接收参数,有些时候需要在 shell 命令下把 PHP 当作脚本执行,比如定时任务。这就涉及到在 shell 命令下如何给 php 传参的问题,通常有三种方式传参。
一、使用 $argv or $argc 参数接收
<?php
/**
* 使用 $argc $argv 接受参数
*/
echo " 接收到 {$argc} 个参数 ";
print_r($argv);
以下是测试的结果
二、使用 getopt 函数(推荐使用这种方法)
<?php
/**
* 使用 getopt 函数
*/
$param_arr = getopt('a:b:');
print_r($param_arr);
三、提示用户输入
<?php
function raw_input($str){fwrite(STDOUT, $str);
return trim(fgets(STDIN));
}
if(raw_input('[*] 是否开启自动回复模式(y/n): ') == 'y'){echo ' 确定 ';}else{echo 'no,no,no';}