现在安装两个PHP项目,一个是PHP5.6的,一个是pHP8的,在宝塔命令窗口查询PHP -V 查PHP版本发现是php8的,现在要启动php5.6的项目定时任务(EasyTask),需要在命令窗口中运行启动PHP代码发现报错,运行命令:
命令运行:
先进入项目根目录,
再运行php think timedtasks start;
cd /www/wwwroot/test.xxxx.com
php think timedtasks start
如果整个服务器只安装一个PHP5.6版本,这样运行就会正确,但是现在安装了多个PHP版本,运行出现下面的错误:PHP Fatal error: During inheritance of ArrayAccess: Uncaught think\exception\ErrorException: Return type of think\Container::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in
查询PHP -V版本,发现是php8.2,但是这个项目是PHP5.6,所以问题找到了,
因为有多个PHP不同版本的项目,不能修改宝塔默认的PHP版本,不然造成其它项目的错误,
解决办法:就是在项目当前运行,PHP5.6安装路径:/www/server/php/56/bin/php
#启动
/www/server/php/56/bin/php think timedtasks start
#强制关闭
/www/server/php/56/bin/php think timedtasks stop force