0

当我在 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) (built: Mar 20 2020 13:47:45) (NTS) 版权所有 (c) The PHP Group Zend Engine v3.4.0, 版权所有 (c) Zend Technologies with Zend OPcache v7.4.4, 版权所有 ( c),由 Zend Technologies 提供

4

1 回答 1

0

Apache 确实使用了 php7.2 模块。

我改变了它:

sudo a2dismod php7.2 && sudo a2enmod php7.4

谢谢!

于 2020-04-15T15:26:42.357 回答