【发布时间】:2020-07-27 19:19:35
【问题描述】:
当我在 Apache Web 服务器上部署 Laravel 应用程序时,我在第 17 行 (public int $invite_id;) 收到以下错误。
"语法错误,意外的 'Int' (T_STRING),期待函数 (T_FUNCTION) 或 const (T_CONST)"
这是错误来自的文件:(UPDATED Int TO int)
namespace App\Events\Invite;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class Created
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public int $invite_id;
/**
* Create a new event instance.
*
* @param int $invite_id
*/
public function __construct(int $invite_id)
{
$this->invite_id = $invite_id;
}
}
在本地,一切正常。当我删除 Int 时,部署中的一切都正常。为什么不能指定公共变量的类型?
更新 在 composer.json 里面:
"require": {
"php": "^7.4",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "^6.3",
"laravel/framework": "^7.0",
"laravel/tinker": "^2.0"
},
php -v 的输出:
PHP 7.4.4 (cli)(构建时间:2020 年 3 月 20 日 13:47:45)(NTS) 版权所有 (c) PHP Group Zend Engine v3.4.0, 版权所有 (c) Zend Technologies 与 Zend OPcache v7.4.4, 版权所有 (c),由 Zend Technologies 提供
【问题讨论】:
-
Int应该是小写的:int。你确定你的服务器运行的是 php 7.4? -
当我使用
int我得到这个错误:syntax error, unexpected 'int' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST)php -v 的输出:PHP 7.4.4 (cli) (built: Mar 20 2020 13:47:45) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.4, Copyright (c), by Zend Technologies -
Apache 使用的 PHP 版本很可能与您在命令行中使用的版本不同。
标签: variables visibility declaration laravel-7 php-7.4