从我的shell脚本 test.sh 我想将一些参数传递给PHP脚本,它们会读取它们:
test.sh
php -q /home/user/files/test.php "$1" "$2"
php -q /home/user/files/test.php $1 $2
为了测试参数的传递,我只是像这样阅读它们( test.php ):
<?php
echo 'Arg 1: ' . $argv[1] ."\n";
echo 'Arg 2: ' . $argv[2] ."\n";
?>
问题是,如果我使用命令从shell运行test.sh:
./test.sh one two
我的php脚本读取两个参数都很好(两次):
Arg 1: one
Arg 2: two
Arg 1: one
Arg 2: two
但是如果我通过crontab运行它,它就无法读取参数而我只得到:
Arg 1:
Arg 2:
Arg 1:
Arg 2:
Cron工作看起来像这样:
20 13 * * * /home/user/files/test.sh one two
如何通过cron作业将参数正确传递给shell脚本,然后传递给php?
答案 0 :(得分:0)
您的php.ini可能没有启用register_argc_argv
。
使用php&#39; s getopt
获取命令行参数。