Невозможно использовать типизированное свойство publi c в php 7.4 Laravel 7 - PullRequest
0 голосов
/ 15 апреля 2020

При развертывании моего приложения Laravel на веб-сервере Apache в строке 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, все отлично работает и при развертывании. Почему я не могу указать тип переменной publi c?

ОБНОВЛЕНИЕ Внутри 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) (построено: 20 марта 2020 г., 13:47:45) (NTS) Авторское право (c) * * * * * * * * * * , Copyright (c) Zend Technologies с Zend OPcache v7.4.4, Авторское право (c), Zend Technologies

1 Ответ

0 голосов
/ 15 апреля 2020

Apache действительно использовал модуль php7 .2.

Я изменил его на:

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

Спасибо!

...