http腳本引用了config.php文件 中定義了$allowIps 這個(gè)數(shù)組,運(yùn)行時(shí)發(fā)現(xiàn)有時(shí)數(shù)組沒有定義
require_once 'config.php';
$cip = getReqIp();
if (!isset($allowIps)) {
var_dump($allowIps);
echo "ip limit";
Http::end();
}
E_COMPILE_ERROR Cannot redeclare getReqIp() (previously declared in /data/www/html/lihongliang/GatewayWorker-master/Applications/mobilelive/Web/api.php:38) in /data/www/html/lihongliang/GatewayWorker-master/Applications/mobilelive/Web/api.php on line 50
worker exit with status 65280
workerman是常駐內(nèi)存的,和php-fpm運(yùn)行機(jī)制不太一樣。
require_once意思就只加載一次,由于常駐內(nèi)存,那么下次再次加載config.php時(shí)就會(huì)略過,不會(huì)再次加載 該文件,文件里的數(shù)組變量自然就不會(huì)再加載。所以當(dāng)前進(jìn)程第二次請(qǐng)求的時(shí)候就會(huì)報(bào)數(shù)組沒定義。
E_COMPILE_ERROR Cannot redeclare getReqIp() (previously declared in /data/www/html/lihongliang/GatewayWorker-master/Applications/mobilelive/Web/api.php:38) in /data/www/html/lihongliang/GatewayWorker-master/Applications/mobilelive/Web/api.php on line 50
提示已經(jīng)很明顯,mobilelive/Web/api.php:38行定義了getReqIp,mobilelive/Web/api.php:50行又定義了一次
如果是開發(fā)web對(duì)workerman又不足夠了解,強(qiáng)烈建議你用nginx php-fpm,開發(fā)簡(jiǎn)單方便很多。