专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Default value for parameters with a class type hint can only be NULL

今天定时任务crontab 脚本迷之报了个错误,本来这个脚本在旧的开发机上跑的好好的,结果换了一台新的开发机就错误了,错误如下:

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

记录一下吧。

文章永久链接:https://tech.souyunku.com/45230

未经允许不得转载:搜云库技术团队 » Default value for parameters with a class type hint can only be NULL

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们