今天迷之报了个错误,本来在另一条开发机上好好的,结果换了一台新的开发机就错误了,错误如下:
PHP Fatal error: Default value for parameters with a class type hint can only be NULL in /data1/www/XXXX/weeklyDataStatisc.php on line 147
然后去看了一下代码147行,是这么写的。
function createLineChart(string $chartTitle, array $labels, array $datas, string $topLeft = 'H6', string $bottomRight = 'P19', int $endRow = 41, $sheet_title = "工作表2")
然后结合错误信息和网上查了一下,大致理解了是PHP 类型约束的问题。php5可以显示约束函数参数类型,但是仅限于array 等。PHP7才增加了INT STRING等类型限制。
但是我是PHP7 啊,然后我去掉了类型约束,但是还是不行,反而出现了其他乱七八糟的错误。搞得快哭了。
最后,经过各种折腾,突然发现 ,我执行的时候是以我的用户执行的,没有sudo。然后sudo执行就会失败。然后我看了一下PHP版本,普通用户下的php --version 是PHP7. sudo php --version 竟然是PHP5!!!!!!!
sudo crontab -e 里用的也是PHP5 /usr/bin/php
啊啊啊啊啊啊。果断换成了PHP7版本 /usr/local/bin/php
记录一下吧。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。