Невозможно использовать общедоступное типизированное свойство в php 7.4 Laravel 7

Когда я развертываю свое приложение Laravel на веб-сервере Apache, я получаю следующую ошибку в строке 17 (public int $invite_id;).

"синтаксическая ошибка, неожиданное "Int" (T_STRING), ожидание функции (T_FUNCTION) или const (T_CONST)"

Это файл, из которого исходит ошибка: (ОБНОВЛЕНО 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) (создано: 20 марта 2020 г., 13:47:45) ( NTS ) Авторское право (c) The PHP Group Zend Engine v3.4.0, Авторское право (c) Zend Technologies с Zend OPcache v7.4.4, Авторское право ( в) Zend Technologies


person Madriesen    schedule 14.04.2020    source источник
comment
Int должно быть в нижнем регистре: int. А вы уверены, что на вашем сервере работает php 7.4?   -  person DigitalDrifter    schedule 15.04.2020
comment
когда я использую 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   -  person Madriesen    schedule 15.04.2020
comment
Скорее всего, версия PHP, используемая Apache, отличается от той, которую вы используете в командной строке.   -  person NikiC    schedule 15.04.2020


Ответы (1)


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

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

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

Спасибо!

person Madriesen    schedule 15.04.2020