web-dev-qa-db-fra.com

Erreur d'analyse: erreur de syntaxe, 'const' inattendu (T_CONST), variable attendue (T_VARIABLE) dans Laravel project

J'ai l'erreur suivante dans mon projet Laravel après le téléchargement dans Bluehost cPanel. Mais sur le serveur local, il n'y a pas d'erreur.

Erreur d'analyse: erreur de syntaxe, 'const' inattendu (T_CONST), variable attendue (T_VARIABLE)

Voici le code

<?php
namespace Doctrine\DBAL;
use Doctrine\DBAL\Driver\ServerInfoAwareConnection;
use Doctrine\DBAL\Exception\InvalidArgumentException;
use Closure;
use Exception;
use Doctrine\DBAL\Types\Type;
use Doctrine\DBAL\Driver\Connection as DriverConnection;
use Doctrine\Common\EventManager;
use Doctrine\DBAL\Cache\ResultCacheStatement;
use Doctrine\DBAL\Cache\QueryCacheProfile;
use Doctrine\DBAL\Cache\ArrayStatement;
use Doctrine\DBAL\Cache\CacheException;
use Doctrine\DBAL\Driver\PingableConnection;
use Throwable;
use function array_key_exists;
use function array_merge;
use function func_get_args;
use function implode;
use function is_int;
use function is_string;
use function key;
class Connection implements DriverConnection
{

public const TRANSACTION_READ_UNCOMMITTED = TransactionIsolationLevel::READ_UNCOMMITTED;

public const TRANSACTION_READ_COMMITTED = TransactionIsolationLevel::READ_COMMITTED;

public const TRANSACTION_REPEATABLE_READ = TransactionIsolationLevel::REPEATABLE_READ;

public const TRANSACTION_SERIALIZABLE = TransactionIsolationLevel::SERIALIZABLE;

public const PARAM_INT_ARRAY = ParameterType::INTEGER + self::ARRAY_PARAM_OFFSET;

public const PARAM_STR_ARRAY = ParameterType::STRING + self::ARRAY_PARAM_OFFSET;

const ARRAY_PARAM_OFFSET = 100;

protected $_conn;

protected $_config;

protected $_eventManager;

protected $_expr;

private $_isConnected = false;

private $autoCommit = true;

private $_transactionNestingLevel = 0;

private $_transactionIsolationLevel;

private $_nestTransactionsWithSavepoints = false;

private $_params = [];

private $platform;

protected $_schemaManager;

protected $_driver;

private $_isRollbackOnly = false;

protected $defaultFetchMode = FetchMode::ASSOCIATIVE;

Mon serveur local PHP est 7.2.0

Bluehost PHP est 7.0.0

Est-ce PHP problème lié à la version?

Comment régler ceci?

6
Arafat Rahman

La possibilité de spécifier la visibilité des constantes de classe a été ajoutée uniquement dans PHP 7.1, à partir de la page de manuel

Remarque:

Depuis PHP 7.1.0 les modificateurs de visibilité sont autorisés pour les constantes de classe.

Donc, sur le serveur PHP 7.0, le

public const TRANSACTION_READ_UNCOMMITTED ...

les lignes ne doivent pas contenir le public. Il dit également que

La visibilité par défaut des constantes de classe est publique.

Le public n'est donc pas nécessaire de toute façon.

19
Nigel Ren