It seems like $url can also be of type null; however, parameter $haystack of str_contains() does only seem to accept string, maybe add an additional type check?
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the ignore-type annotation
21
if (!str_contains(/** @scrutinizer ignore-type */ $url, '://')) {