在PHP 7中同时使用shebang和strict类型声明

ᴄʀᴏ*_*ᴢᴇᴛ 5 php shebang command-line-interface php-7

我正在用PHP7编写命令行PHP脚本。

当我将shebang(#!/usr/bin/php)放在文件顶部时,如果使用添加严格模式,则会declare(strict_types=1)出现以下错误:

PHP致命错误:strict_types声明必须是第3行中index.php中脚本中的第一条语句

我发现使严格类型起作用的唯一方法是删除shebang行。

有没有一种方法可以同时使用shebang和strict类型,或者它是一个php bug?

ᴄʀᴏ*_*ᴢᴇᴛ 5

好的,这就是严格类型声明不起作用的原因:我在 shebang 和 php 开始标记之间有一个新行。

工作示例:

#!/usr/bin/php
<?php
declare(strict_types=1);

// your code
Run Code Online (Sandbox Code Playgroud)