I have got the following error in my Laravel project after uploading in Bluehost cPanel. But in local server there is no error.
Parse error: syntax error, unexpected ‘const’ (T_CONST), expecting variable (T_VARIABLE)
Here is the code
<?php
namespace DoctrineDBAL;
use DoctrineDBALDriverServerInfoAwareConnection;
use DoctrineDBALExceptionInvalidArgumentException;
use Closure;
use Exception;
use DoctrineDBALTypesType;
use DoctrineDBALDriverConnection as DriverConnection;
use DoctrineCommonEventManager;
use DoctrineDBALCacheResultCacheStatement;
use DoctrineDBALCacheQueryCacheProfile;
use DoctrineDBALCacheArrayStatement;
use DoctrineDBALCacheCacheException;
use DoctrineDBALDriverPingableConnection;
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;
My local server PHP version is 7.2.0
Bluehost PHP version is 7.0.0
Is that PHP version related problem?
How to fix this?
2
Answers
The ability to specify the visibility of class constants was only added in PHP 7.1, from the manual page
So on the PHP 7.0 server, the
lines should not have the
public
on them. It also says thatSo public is not needed anyway.
It seems like you want to define a constant variable.
My instruction was :
The error I got :
I changed that instruction to :
output :
Syntax of the method ‘define’ :
For eg.
But
Always remember that regular variables should be addressed by using ‘$’ before their name but constant variables should be addressed directly as shown by me in the code above.