把线上环境配置下下来,本地启动报 Undefined variable: argv
Closed this issue · 8 comments
macos
php 7.2
sudo php /Users/zhou/PhpstormProjects/lumen-tars-demo/LumenTars_bak/LumenTars/src/index.php --config=/Users/zhou/PhpstormProjects/lumen-tars-demo/LumenTars_bak/LumenTars/src/eee.conf start
#!/usr/bin/env php
PHPTest.LumenTars start [SUCCESS]
In index.php line 4:
Undefined variable: argv
一样的配置线上可以启动
已修改,请重试下,谢谢
入口文件加入$argv = $argv ?? []; 吗,试了还是一样的报错
入口文件加入$argv = $argv ?? []; 吗,试了还是一样的报错
你的报错是第4行,和你说的不是同一个位置
修改后:
$config_path = $argv[1] ?? ($_SERVER['argv'][1]);
另外也可以参考这个
https://stackoverflow.com/questions/16429488/undefined-variable-argc-php
尝试修改php.ini中的register_argc_argv配置
谢谢及时回复,再把问题重新说下,我之前就确认过我本地PHP环境 php -i |grep argv
register_argc_argv => On => On
$_SERVER['argv'] => Array
zhoudeMacBook-Pro:src zhou$
一直就是启用的,
我现在用的是最新的代码,试了下,还是没有好,我用的是打包的压缩包,解压测试的,入口第四行如为
$config_path = $argv[1] ?? ($_SERVER['argv'][1]); 报以下错误
第四行如为$config_path = $argv[1];
还是一样的错误如下:
Undefined variable: argv
谢谢及时回复,再把问题重新说下,我之前就确认过我本地PHP环境 php -i |grep argv
register_argc_argv => On => On
$_SERVER['argv'] => Array
zhoudeMacBook-Pro:src zhou$
一直就是启用的,
我现在用的是最新的代码,试了下,还是没有好,我用的是打包的压缩包,解压测试的,入口第四行如为
$config_path = $argv[1] ?? ($_SERVER['argv'][1]); 报以下错误
第四行如为$config_path = $argv[1];
还是一样的错误如下:
Undefined variable: argv
根据你的描述,现在是两个问题。
关于第一个问题,我本地环境无法重新(环境:php 7.2.18,mac os 10.15.4),可以单独写一个php脚本测试下$argv能否获取。
关于第二个问题,本地依然无法重现,麻烦搜索项目代码中有几处Tars\route\RouteFactory
并复制到评论中,可以尝试检查vendor包是不是正常,删除掉vendor包重新 composer install 后测试。
谢谢。
另外请知悉,项目中server启动时会依赖tars平台的功能,脱离平台可能会报错,暂不支持脱离平台调试
可能和mac 环境有关系, 导致上面的问题,是我mac 默认安装多个php 7.2的原因, 现在是不在报argv 错误了,但监听但端口一直没起来,我特定弄了个linux (centos7)测试, 脱离平台也是可行的, 端口监听也是正常的, 但mac 系统现在是启动成功,不报错, 服务一直没有来,官方的脱离任何php框架的demo 我也试了, 脱离平台在mac 下,能启动成功,服务正常,但,stop 命令显示没有此进程, 但在linux 环境下,脱离平台一切正常.