我想在以下函数上传递参数:
system(“/ usr / bin / nohup / usr / bin / php -q /var/www/vhosts/example.com/httpdocs/foldername/filename.php> / dev / null 2> / dev / null &安培;“);
我尝试过以下事情,但没有运气。
system(“/ usr / bin / nohup / usr / bin / php -q /var/www/vhosts/example.com/httpdocs/foldername/filename.php?abc=123> / dev / null 2> / dev / null&“);
system(“/ usr / bin / nohup / usr / bin / php -q /var/www/vhosts/example.com/httpdocs/foldername/filename.php abc = 123> / dev / null 2> ; / dev / null&“);
请解释我如何传递参数以及如何在此example.php文件中获取此参数值。
由于
答案 0 :(得分:1)
命令行php不接受获取字符串。它是一个文件,而不是一个网址。您可以将参数传递给文件,就像任何命令行脚本(空格分隔的单个单词或带引号的字符串)一样,并通过$argv
访问它们。您可以在手册中阅读有关php命令行用法的更多信息:
php.net/manual/en/features.commandline.php php.net/manual/en/reserved.variables.argv.php
您还可以传递查询字符串格式化的字符串(我建议引用它)并使用parse_str来获取键/值。
Cmd line:php scriptName.php "foo=1&bar=2"
:
$queryString = parse_str($argv[1]);
//and now you have:
$queryString['foo']; //equals 1
$queryString['bar']; //equals 2