当我在__construct中尝试这个时:
var_dump($argc);
var_dump($argv);
var_dump($_SERVER["argv"]);
它返回错误
未定义的变量:argc和
未定义的变量:argv
和数组
(size = 0)为空
当我在global中声明$ argc和$ argv时,它返回所有null。
我也正在使用像这样的nncron解析参数:
* * * * * php \php\class.xmlcontroler.php timeout=60
0 * * * * php \php\class.xmlcontroler.php timeout=3600
什么是解决方案?
答案 0 :(得分:5)
$argv
和$argc
仅在全局命名空间中可用。您必须将它们作为构造函数的参数来处理。
<?php
function foo()
{
var_dump($argv);
}
echo "global\n";
var_dump($argv);
echo "function\n";
foo();
将提供:
global
array(2) {
[0]=>
string(5) "a.php"
[1]=>
string(3) "123"
}
function
NULL
像这样调用php a.php 123
更新:类示例
<?php
class Foo
{
public function __construct($argv)
{
// use $argv
}
}
$foo = new Foo($argv);