Large Scale PV Projects in Romania

11 April 2022 • Investments

Large Scale PV Projects in Romania

Source: https://www.solarplaza.com/resource/12401/article-large-scale-pv-projects-in-romania-2022/

Large Scale PV Projects in Romania

Author: Tatiana Fiodorov, Managing Partner of Axenti Fiodorov & Partners

Introduction

For all of us, it has become a normality that due to significant technological progress today we have diverse energy sources. Increasing the renewable energy share quota in the energy mix is demanded not only considering the decarbonization target, but also high and volatile oil prices in the current political context, as well as the constant desire for energy independence. While the investors are entering the markets aggressively and the evolution thereto is rapid, every single jurisdiction has its structure and specific rules for doing business.

When entering the Romanian market, investors are encouraged by looking at the solar potential (about 210 sunny days per year), geographical characteristics, and even supporting schemes available. However, the unknown factor and timing present the most difficulties for investors. While ready-to-build projects imply legal aspects to consider, mainly given the validity of the permitting documentation and the proper exit, greenfield projects entail a thorough step-by-step analysis performed in real-time alongside multidisciplinary teams of experts.

In this context, the question is what rules should stakeholders consider in today's frantic rush?

This article has the objective to present a realistic and responsive overview of the current status of the Romanian photovoltaic energy market by considering the starting point and destination and to answer the top 7 questions that arise during the authorization process for developing large-scale photovoltaic power plants in Romania.

Top 7 questions that arise in solar greenfield investments

1. What’s the Romanian market starting point and destination?

Specifically, with regard to photovoltaic sources of energy by means of the Energy Strategy, the Romanian Government targets an increase of photovoltaic energy capacities from the current status of approx. 1,400 MW to 3.140 MW by 2030. At present, the solar share quota in the national energy mix is 7.5%.

2. Should a special investment vehicle be incorporated for each photovoltaic power plant?

Setting up the investment vehicle represents the very first step for doing renewable energy business in Romania. The Regulation for granting licences and authorizations in the electricity sector2 sets up that “the licensee may not hold two licences of the same type simultaneously”. Thus, it results that for each production unit - photovoltaic power plant it is necessary to issue a separate production and operation licence, consequently a company could not operate two photovoltaic power plants simultaneously.

Establishing a company (e.g. limited liability company) has become in recent years a fast-paced desire to implement due to the relaxation of the Trade Register requirements and digitalization. Considering these, currently the incorporation certificates may be issued only within three business days as of the submission of the files with the Trade Registry.

Useful advice for investors upon drafting the articles of association is to bear in mind that in case the director of the Romanian SPV does not reside in the country, and the country managers have no quality in the company, the last listed will not be entitled to represent the company towards third parties. In this case, the remedy would be to either grant the country manager the quality of director in the SPV or proxies to be issued during the implementation of the projects.

3. How to secure land rights for the power production installation, connection, and collection network?

When implementing a solar project, the investors have to consider finding the adequate location and securing land rights not only for the power production installation, but also for the connection and collection network, i.e. transformer stations, overhead and/or underground electrical lines.

As a general rule, under Romanian law a photovoltaic panel system represents an immovable asset. This qualification results based on the provisions of the Civil Code3 and constant national jurisprudence, according to which the photovoltaic panel system can be qualified as an autonomous work with a durable character. From the perspective of Law No. 50/1991 regarding the authorization of construction works (the “Construction Law”)4, the development of a photovoltaic panel system would imply performing construction works having definitive character, as the investment specificity imposes an unlimited duration of operation. In this order, in light of the Construction Law provisions, the investor has to obtain a building permit. Further on, for obtaining the building permit the evidence of real rights (in rem rights) over the lands subject to the envisaged construction works shall be provided. In this regard, mention should be made that real rights encompass inter alia ownership right, superficies right, concession right, use and easement rights.

The most commonly used rights for solar parks are superficies and ownership rights (real rights specific to private property), and the concession right when we have to deal with public property.

In case the investment is subject to grid strengthening works, the investor also has to secure land rights for the connection network. The land rights for cables and pillars may be secured either (i) based on general provisions of the Civil Code5 by means of authentic passage easements, use and superficies rights agreements or (ii) based on the provisions of electricity and natural gas law No. 123/2012 (the “Energy Law”). While the scenario mentioned at item (i) is recommended as in this case the construction works can be commenced along with power plant construction, a piece of useful advice would be to identify the location of the passageway corresponding to electrical lines and pillars and perform the cadastral delimitation of such for avoiding paying for the area of land plots which will not be actually used for electrical lines and pillars. By contrast, for making use of the rights established under the Energy Law, the investor must have already obtained the setting-up authorisation.6 Thus, the second scenario is less favourable in view of the fact that the construction of the connection network may be delayed until the setting-up authorisation date for the project.

4. How to structure the deal so that you don't delay the grid connection?

While the access to the grid is based on the first come first served principle, the necessity of carrying out legal and technical due diligence on land status, even if not mandatory, derives from the specifics of the construction works for the photovoltaic project. Technical & environmental due diligence is recommended for checking the existence on the lands of impediments with respect to the development, such as utilities networks, pipes, lands’ improvement infrastructure, soil quality or environmental issues. Legal assessment on the lands’ status is important mainly considering the destination of the lands, their location, encumbrances, litigations, pre-emption rights, overlapping situation and the restitution claims filed by former owners of immovable assets abusively taken by the Romanian State during the Communist regime.

Considering that due diligence implies inquiries with public authorities (such as City Halls, Transgaz, National Agency for land improvements, National Company of Highways and National Roads, etc.), if performing it before securing the land rights the project timeline is inevitably delayed for at least 30-45 days. Consequently, this decision triggers delays in accessing the grid, as for obtaining that access the developer has to provide an urban planning certificate for the construction works scope, which is issued only after securing real rights over the envisaged location. Thus, a proper assessment of the lawyers on the transaction structure must be requested from the very incipient stages of the project.

5. Is the zonal urban plan mandatory for solar deployments in Romania?

The assessment of the zonal urban plan (the “PUZ”) necessity for developing a photovoltaic power plant is made by reference to two aspects:

a) in terms of applicable legislation, the cases in which it is necessary to draft PUZ documentation are established mainly within the Urban Planning Law No. 350/2001 (the “Urban Planning Law”)7, which includes no express provision regarding the necessity of the PUZ for developing photovoltaic power plants. Of course, the public authority is entailed to demand the investor to draft a PUZ in case it considers that the general urban plan (the “PUG”) of the territorial administrative unit where the land plots are located does not regulate the conditions for the authorization this kind of project.

b) if referring to the intra or extra muros location of the lands secured for the power plant, it should be noted that under Romanian law, the construction works can only be performed on the lands located intra muros (with certain exceptions). As per the Construction Law, introducing the lands in the intra muros area may be performed only through PUZ or PUG documentation.

Consequently, the assessment is made on a case-by-case basis. In case the lands are either located extra muros or even located intra muros, the public authority considers that the photovoltaic power plant deployment does not comply with the urban planning documentation approved for the area of the secured land plots (PUG or PUZ ), the investor would be required to draft a PUZ for including the lands in the intra muros area of the territorial administrative unit and establish the function of the area for the specific scope of energy capacities deployment.

Considering that foresight and timing are crucial for securing investor confidence, mention should be made that the law does not regulate a timeline for approval of PUZ. However, from a practical perspective, collecting prior approvals and endorsements established in the urban planning certificate for PUZ scope and the approval of the PUZ documentation is reasonable to be expected within at least six months as of the date of the urban planning certificate date.

Useful advice for the investor would be to obtain an urban planning certificate for information purposes (for the issuance of which no proof of real right is required) before securing the land rights. This type of urban planning certificate shall mention the legal, technical, and economical regime of the land plots.

6. Agrivoltaics: is the co-use regulated under Romanian law?

There are a number of studies on the compatibility and characteristics of agri voltaics that show that a photovoltaic power plant is not incompatible with the exercise of agricultural or grazing activity on the land where it is located, having a minimal environmental impact.

Under the Romanian legal framework, the construction works are allowed solely on the lands having the use category “construction yards” (in Romanian “curți construcții”), and for this scope, removal from the agricultural use needs to be performed for the entire area of the land plots envisages for the power plant location. It follows that currently the possibility of the co-use is not regulated, and investors have to envisage converting the lands’ agricultural use to buildable.

Although in case of intra muros land plots having arable use category, the removal from the agricultural circuit is made via the issuance of the building permit itself, with no specific procedure to be followed in this scope (except for the conversion fee to be paid during the PUZ phase, namely upon obtaining the endorsement on soil quality from the Ministry of Agriculture), in case of intra muros pastures lands, the procedure for changing use category, shall include, inter alia, the obligation of the investor to recover from the unproductive lands an area equal to the one approved to be definitively removed from the agricultural use. Cumbersome procedures are enhanced by the legal provisions8 which impose in charge of the extra muros agricultural landowners the obligation to use such lands exclusively for agricultural purposes.

In these conditions, it seems obvious that co-use regulation is needed as soon as possible. Deployment of large-scale photovoltaic power plants inevitably leads to the reduction of agricultural areas actually used for cereal cultivation or pastures, with no substitution activity planned thereto, whilst crop farming blocks renewable energy production.

At the present, the Romanian legislator’s intentions are good. We have at least two legislative proposals pending: on the one hand, removing the ban on changing the use category of extra muros agricultural lands (i.e. PL-x nr. 292/2021 having as object the amendment and completion of the Law No. 17/2014), on the other hand, regulating the co-use of agricultural land and energy capacities (i.e. PL-x No. 22/2022 having as object the amendment and completion of the Land Law)9.

7. What are the peculiarities of the Land Book registration of the photovoltaic power plants?

Under Romanian Law, the photovoltaic panel system represents a construction that must be registered with the Land Book. The registration shall be performed based on the cadastral documentation and the attestation certificate on the existence of the construction and their development according to the building permit. At the same time, the cadastral documentation shall mention the external contour of the area on which the solar panels are located and, which is very important, the number of photovoltaic panels. The number of photovoltaic panels must correspond to the number of modules licensed under the setting-up authorization and the one mentioned in the technical project attached to the building permit. In case of positive discrepancies of the actual status and the documents, there is a risk of the impossibility of proving the ownership right over the entire photovoltaic panel system which may further impact a potential asset deal.

Future Outlook

We strongly believe that Romania represents a very positive investment environment for large scale photovoltaic projects and the market has immense potential for growth. However, to foster solar energy and achieve the envisaged targets, the regulatory framework must be under constant update for unravelling regulations or at least there should be less administrative barriers. Even if the assessment is made on a case-by-case basis, the mismatch between the real estate and renewable energy rules must be mitigated considering that both the available capacity in the electrical network and compact suitable areas of land plots are increasingly limited. After unlocking the ban on power purchase agreements, maybe the legislator shall consider allowing on-farm solar generation?

References

1. https://www.anre.ro/ro/energie-electrica/rapoarte/puterea-instalata-in-capacitatiile-de-productie-energie-electrica

2. Approved by Order No. 12/2015 issued by National Authority for Energy Regulations, published in the Official Gazette, Part I no. 180 of 17 March 2015, as subsequently amended.

3. Republished in the Official Gazette No. 505 of 15 July 2011, as subsequently amended.

4. Republished in the Official Gazette of Romania No. 933 of 13 October 2004, as subsequently amended.

5. Republished in the Official Gazette No. 505 of 15 July 2011.

6. The setting-up authorization (în Romanian “autorizaţie de înfiinţare”) is an administrative deed issued by ANRE by which a person is granted permission to build or refurbish energy capacities for electricity production. The setting-up authorization is distinct from building permit issued based on Construction Law.

7. Law No. 350/2001, the urbanism law, published in the Official Gazette No. 373 of 10 July 2001, as subsequently amended.

8. Law No. 175/2020 (in force as of 13 October 2020), which introduce the Article 42(5) to the Law No. 17/2014 on regulatory measures concerning the sale and purchase of extra-muros agricultural lands and amending Law No. 268/2001 on the privatization of companies that hold for management purposes lands that are the public and private property of the State and have agricultural use and the establishment of the State Property Agency (Agenția Domeniilor Statului), published in the Official Gazette of Romania, Part I, No. 178 of 12 March 2014, as subsequently amended.

9. Law No. 18/1991 - the Land Law, as republished in the Official Gazette of Romania, Part I, No. 1 of 5 January 1998, as subsequently amended.


Whoops! There was an error.
Predis \ Response \ ServerException
MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. Predis\Response\ServerException thrown with message "MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error. " Stacktrace: #12 Predis\Response\ServerException in /var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php:370 #11 Predis\Client:onErrorResponse in /var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php:335 #10 Predis\Client:executeCommand in /var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php:314 #9 Predis\Client:__call in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:114 #8 Illuminate\Redis\Connections\Connection:command in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php:214 #7 Illuminate\Redis\Connections\Connection:__call in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php:93 #6 Illuminate\Cache\RedisStore:put in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/Repository.php:208 #5 Illuminate\Cache\Repository:put in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php:66 #4 Illuminate\Session\CacheBasedSessionHandler:write in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Store.php:129 #3 Illuminate\Session\Store:save in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /var/www/html/blissimobiliare/public/index.php:58
12
Predis\Response\ServerException
/vendor/predis/predis/src/Client.php370
11
Predis\Client onErrorResponse
/vendor/predis/predis/src/Client.php335
10
Predis\Client executeCommand
/vendor/predis/predis/src/Client.php314
9
Predis\Client __call
/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php114
8
Illuminate\Redis\Connections\Connection command
/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php214
7
Illuminate\Redis\Connections\Connection __call
/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php93
6
Illuminate\Cache\RedisStore put
/vendor/laravel/framework/src/Illuminate/Cache/Repository.php208
5
Illuminate\Cache\Repository put
/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php66
4
Illuminate\Session\CacheBasedSessionHandler write
/vendor/laravel/framework/src/Illuminate/Session/Store.php129
3
Illuminate\Session\Store save
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php87
2
Illuminate\Session\Middleware\StartSession terminate
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php218
1
Illuminate\Foundation\Http\Kernel terminateMiddleware
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php189
0
Illuminate\Foundation\Http\Kernel terminate
/public/index.php58
/var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php
     *
     * @return mixed
     */
    protected function onErrorResponse(CommandInterface $command, ErrorResponseInterface $response)
    {
        if ($command instanceof ScriptCommand && $response->getErrorType() === 'NOSCRIPT') {
            $eval = $this->createCommand('EVAL');
            $eval->setRawArguments($command->getEvalArguments());
 
            $response = $this->executeCommand($eval);
 
            if (!$response instanceof ResponseInterface) {
                $response = $command->parseResponse($response);
            }
 
            return $response;
        }
 
        if ($this->options->exceptions) {
            throw new ServerException($response->getMessage());
        }
 
        return $response;
    }
 
    /**
     * Executes the specified initializer method on `$this` by adjusting the
     * actual invokation depending on the arity (0, 1 or 2 arguments). This is
     * simply an utility method to create Redis contexts instances since they
     * follow a common initialization path.
     *
     * @param string $initializer Method name.
     * @param array  $argv        Arguments for the method.
     *
     * @return mixed
     */
    private function sharedContextFactory($initializer, $argv = null)
    {
        switch (count($argv)) {
            case 0:
Arguments
  1. "MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.  "
    
/var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php
    }
 
    /**
     * {@inheritdoc}
     */
    public function createCommand($commandID, $arguments = array())
    {
        return $this->profile->createCommand($commandID, $arguments);
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $response = $this->connection->executeCommand($command);
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
                $response = $this->onErrorResponse($command, $response);
            }
 
            return $response;
        }
 
        return $command->parseResponse($response);
    }
 
    /**
     * Handles -ERR responses returned by Redis.
     *
     * @param CommandInterface       $command  Redis command that generated the error.
     * @param ErrorResponseInterface $response Instance of the error response.
     *
     * @throws ServerException
     *
     * @return mixed
     */
    protected function onErrorResponse(CommandInterface $command, ErrorResponseInterface $response)
    {
Arguments
  1. Predis\Command\StringSetExpire {}
    
  2. Predis\Response\Error {}
    
/var/www/html/blissimobiliare/vendor/predis/predis/src/Client.php
        );
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
                $error = true;
            }
 
            return (string) $response;
        }
 
        return $response;
    }
 
    /**
     * {@inheritdoc}
     */
    public function __call($commandID, $arguments)
    {
        return $this->executeCommand(
            $this->createCommand($commandID, $arguments)
        );
    }
 
    /**
     * {@inheritdoc}
     */
    public function createCommand($commandID, $arguments = array())
    {
        return $this->profile->createCommand($commandID, $arguments);
    }
 
    /**
     * {@inheritdoc}
     */
    public function executeCommand(CommandInterface $command)
    {
        $response = $this->connection->executeCommand($command);
 
        if ($response instanceof ResponseInterface) {
            if ($response instanceof ErrorResponseInterface) {
Arguments
  1. Predis\Command\StringSetExpire {}
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php
     * @param  \Closure  $callback
     * @return void
     */
    public function psubscribe($channels, Closure $callback)
    {
        return $this->createSubscription($channels, $callback, __FUNCTION__);
    }
 
    /**
     * Run a command against the Redis database.
     *
     * @param  string  $method
     * @param  array   $parameters
     * @return mixed
     */
    public function command($method, array $parameters = [])
    {
        $start = microtime(true);
 
        $result = $this->client->{$method}(...$parameters);
 
        $time = round((microtime(true) - $start) * 1000, 2);
 
        if (isset($this->events)) {
            $this->event(new CommandExecuted($method, $parameters, $time, $this));
        }
 
        return $result;
    }
 
    /**
     * Fire the given event if possible.
     *
     * @param  mixed  $event
     * @return void
     */
    protected function event($event)
    {
        if (isset($this->events)) {
            $this->events->dispatch($event);
Arguments
  1. "setex"
    
  2. array:3 [
      0 => "laravel:4AfDeOwxs4tf7HOSlRrT46SzM4ifjHOtLPnFtZoc"
      1 => 7200
      2 => "s:312:"a:4:{s:6:"_token";s:40:"tgT71FZa01pjpR4kOuaGMY3aaDkRalK6vJbxeCrM";s:9:"_previous";a:1:{s:3:"url";s:117:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}";"
    ]
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Redis/Connections/Connection.php
    /**
     * Unset the event dispatcher instance on the connection.
     *
     * @return void
     */
    public function unsetEventDispatcher()
    {
        $this->events = null;
    }
 
    /**
     * Pass other method calls down to the underlying client.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     */
    public function __call($method, $parameters)
    {
        return $this->command($method, $parameters);
    }
}
 
Arguments
  1. "setex"
    
  2. array:3 [
      0 => "laravel:4AfDeOwxs4tf7HOSlRrT46SzM4ifjHOtLPnFtZoc"
      1 => 7200
      2 => "s:312:"a:4:{s:6:"_token";s:40:"tgT71FZa01pjpR4kOuaGMY3aaDkRalK6vJbxeCrM";s:9:"_previous";a:1:{s:3:"url";s:117:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}";"
    ]
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/RedisStore.php
 
        foreach ($values as $index => $value) {
            $results[$keys[$index]] = ! is_null($value) ? $this->unserialize($value) : null;
        }
 
        return $results;
    }
 
    /**
     * Store an item in the cache for a given number of minutes.
     *
     * @param  string  $key
     * @param  mixed   $value
     * @param  float|int  $minutes
     * @return void
     */
    public function put($key, $value, $minutes)
    {
        $this->connection()->setex(
            $this->prefix.$key, (int) max(1, $minutes * 60), $this->serialize($value)
        );
    }
 
    /**
     * Store multiple items in the cache for a given number of minutes.
     *
     * @param  array  $values
     * @param  float|int  $minutes
     * @return void
     */
    public function putMany(array $values, $minutes)
    {
        $this->connection()->multi();
 
        foreach ($values as $key => $value) {
            $this->put($key, $value, $minutes);
        }
 
        $this->connection()->exec();
    }
Arguments
  1. "setex"
    
  2. array:3 [
      0 => "laravel:4AfDeOwxs4tf7HOSlRrT46SzM4ifjHOtLPnFtZoc"
      1 => 7200
      2 => "s:312:"a:4:{s:6:"_token";s:40:"tgT71FZa01pjpR4kOuaGMY3aaDkRalK6vJbxeCrM";s:9:"_previous";a:1:{s:3:"url";s:117:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}";"
    ]
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Cache/Repository.php
    }
 
    /**
     * Store an item in the cache.
     *
     * @param  string  $key
     * @param  mixed   $value
     * @param  \DateTimeInterface|\DateInterval|float|int|null  $minutes
     * @return void
     */
    public function put($key, $value, $minutes = null)
    {
        if (is_array($key)) {
            $this->putMany($key, $value);
 
            return;
        }
 
        if (! is_null($minutes = $this->getMinutes($minutes))) {
            $this->store->put($this->itemKey($key), $value, $minutes);
 
            $this->event(new KeyWritten($key, $value, $minutes));
        }
    }
 
    /**
     * {@inheritdoc}
     */
    public function set($key, $value, $ttl = null)
    {
        $this->put($key, $value, $ttl);
    }
 
    /**
     * Store multiple items in the cache for a given number of minutes.
     *
     * @param  array  $values
     * @param  \DateTimeInterface|\DateInterval|float|int  $minutes
     * @return void
     */
Arguments
  1. "4AfDeOwxs4tf7HOSlRrT46SzM4ifjHOtLPnFtZoc"
    
  2. "a:4:{s:6:"_token";s:40:"tgT71FZa01pjpR4kOuaGMY3aaDkRalK6vJbxeCrM";s:9:"_previous";a:1:{s:3:"url";s:117:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 120
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/CacheBasedSessionHandler.php
     */
    public function close()
    {
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        return $this->cache->get($sessionId, '');
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        return $this->cache->put($sessionId, $data, $this->minutes);
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        return $this->cache->forget($sessionId);
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        return true;
    }
 
    /**
     * Get the underlying cache repository.
Arguments
  1. "4AfDeOwxs4tf7HOSlRrT46SzM4ifjHOtLPnFtZoc"
    
  2. "a:4:{s:6:"_token";s:40:"tgT71FZa01pjpR4kOuaGMY3aaDkRalK6vJbxeCrM";s:9:"_previous";a:1:{s:3:"url";s:117:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 120
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "4AfDeOwxs4tf7HOSlRrT46SzM4ifjHOtLPnFtZoc"
    
  2. "a:4:{s:6:"_token";s:40:"tgT71FZa01pjpR4kOuaGMY3aaDkRalK6vJbxeCrM";s:9:"_previous";a:1:{s:3:"url";s:117:"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554";}s:22:"PHPDEBUGBAR_STACK_DATA";a:0:{}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            [$name] = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Illuminate\Http\Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) { …4}
      #routeResolver: Closure() { …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {}
      +request: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +query: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +server: Symfony\Component\HttpFoundation\ServerBag {}
      +files: Symfony\Component\HttpFoundation\FileBag {}
      +cookies: Symfony\Component\HttpFoundation\ParameterBag {}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/en/blog/investments/large-scale-pv-projects-in-romania-554"
      #requestUri: "/en/blog/investments/large-scale-pv-projects-in-romania-554"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {}
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Http\Response {}
    
/var/www/html/blissimobiliare/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Illuminate\Http\Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) { …4}
      #routeResolver: Closure() { …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {}
      +request: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +query: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +server: Symfony\Component\HttpFoundation\ServerBag {}
      +files: Symfony\Component\HttpFoundation\FileBag {}
      +cookies: Symfony\Component\HttpFoundation\ParameterBag {}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/en/blog/investments/large-scale-pv-projects-in-romania-554"
      #requestUri: "/en/blog/investments/large-scale-pv-projects-in-romania-554"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {}
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Http\Response {}
    
/var/www/html/blissimobiliare/public/index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Illuminate\Http\Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) { …4}
      #routeResolver: Closure() { …4}
      +attributes: Symfony\Component\HttpFoundation\ParameterBag {}
      +request: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +query: Symfony\Component\HttpFoundation\ParameterBag {#1}
      +server: Symfony\Component\HttpFoundation\ServerBag {}
      +files: Symfony\Component\HttpFoundation\FileBag {}
      +cookies: Symfony\Component\HttpFoundation\ParameterBag {}
      +headers: Symfony\Component\HttpFoundation\HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/en/blog/investments/large-scale-pv-projects-in-romania-554"
      #requestUri: "/en/blog/investments/large-scale-pv-projects-in-romania-554"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Illuminate\Session\Store {}
      #locale: null
      #defaultLocale: "en"
      -preferredFormat: null
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Illuminate\Http\Response {}
    

Environment & details:

empty
empty
empty
Key Value
XSRF-TOKEN
"eyJpdiI6Im1vUVEwQ2hlRTgrZlBPXC94Z3NacjJRPT0iLCJ2YWx1ZSI6ImlhdTBTSHBcL21DdlJEWjNkU1dUZjlpaXBFUlowQm5VZ0F6MGNCWGFwMmhjNFF4dDF0Nk9YODBlZXg3TGpjNEQ1IiwibWFjIjoiMzViODAwZDQzODBlN2MwMTExMzdjZmMyM2IwODQ3ZGRmYzJhNTNlNGYxMDcxNjcyY2RjYzU0OTJlNTI2YmIyYyJ9"
laravel_session
"eyJpdiI6InpOOURJb2RwMUVGaVVRb3JqWjh5NEE9PSIsInZhbHVlIjoiYzRpRjdRMmVCT29kZFdCaUdlWklBSVB1dnV6c1wvOXRqR2pnYnRZOGZXT0FBeUl2bmpOVVlEdjRyWmNXa2Q1T3EiLCJtYWMiOiI1ZWEzMTBkYWExMjA1ODI1YmUwMWJiODNjMWVhZGFhNGFmMDE0OWZjZmIzYWRlNzhiMzc5YjlmNzkxMGY0YTQ1In0="
lang
"eyJpdiI6IndBbjVORFZXTWNFS0Iwa1NmQWdHdkE9PSIsInZhbHVlIjoiXC9ocWNLbGt4dlcwR1lOQTlxU0xxSkE9PSIsIm1hYyI6IjU3YTk1MjM3ZGUwNDlkZDdmYjZiMGNhMGI5ZGNiZWVjMjI3ZTYyMjc5ZDljZjg0NTI3ODc1ZTg4YjIwMjgzNjYifQ=="
empty
Key Value
REDIRECT_UNIQUE_ID
"aQmvDKwfEagAAE0cAG0AAAAJ"
REDIRECT_SCRIPT_URL
"/en/blog/investments/large-scale-pv-projects-in-romania-554"
REDIRECT_SCRIPT_URI
"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aQmvDKwfEagAAE0cAG0AAAAJ"
SCRIPT_URL
"/en/blog/investments/large-scale-pv-projects-in-romania-554"
SCRIPT_URI
"http://ec2-3-72-183-126.eu-central-1.compute.amazonaws.com/en/blog/investments/large-scale-pv-projects-in-romania-554"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_COOKIE
"XSRF-TOKEN=eyJpdiI6Im1vUVEwQ2hlRTgrZlBPXC94Z3NacjJRPT0iLCJ2YWx1ZSI6ImlhdTBTSHBcL21DdlJEWjNkU1dUZjlpaXBFUlowQm5VZ0F6MGNCWGFwMmhjNFF4dDF0Nk9YODBlZXg3TGpjNEQ1IiwibWFjIjoiMzViODAwZDQzODBlN2MwMTExMzdjZmMyM2IwODQ3ZGRmYzJhNTNlNGYxMDcxNjcyY2RjYzU0OTJlNTI2YmIyYyJ9; laravel_session=eyJpdiI6InpOOURJb2RwMUVGaVVRb3JqWjh5NEE9PSIsInZhbHVlIjoiYzRpRjdRMmVCT29kZFdCaUdlWklBSVB1dnV6c1wvOXRqR2pnYnRZOGZXT0FBeUl2bmpOVVlEdjRyWmNXa2Q1T3EiLCJtYWMiOiI1ZWEzMTBkYWExMjA1ODI1YmUwMWJiODNjMWVhZGFhNGFmMDE0OWZjZmIzYWRlNzhiMzc5YjlmNzkxMGY0YTQ1In0%3D; lang=eyJpdiI6IndBbjVORFZXTWNFS0Iwa1NmQWdHdkE9PSIsInZhbHVlIjoiXC9ocWNLbGt4dlcwR1lOQTlxU0xxSkE9PSIsIm1hYyI6IjU3YTk1MjM3ZGUwNDlkZDdmYjZiMGNhMGI5ZGNiZWVjMjI3ZTYyMjc5ZDljZjg0NTI3ODc1ZTg4YjIwMjgzNjYifQ%3D%3D"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_HOST
"ec2-3-72-183-126.eu-central-1.compute.amazonaws.com"
HTTP_VIA
"1.1 squid-proxy-5b5d847c96-rm7v8 (squid/6.13)"
HTTP_X_FORWARDED_FOR
"10.3.71.176"
HTTP_CACHE_CONTROL
"max-age=259200"
HTTP_CONNECTION
"keep-alive"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"ec2-3-72-183-126.eu-central-1.compute.amazonaws.com"
SERVER_ADDR
"172.31.17.168"
SERVER_PORT
"80"
REMOTE_ADDR
"216.73.216.5"
DOCUMENT_ROOT
"/var/www/html/blissimobiliare/public"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/blissimobiliare/public"
SERVER_ADMIN
"razvan.iacob@blissimobiliare.ro"
SCRIPT_FILENAME
"/var/www/html/blissimobiliare/public/index.php"
REMOTE_PORT
"46617"
REDIRECT_URL
"/en/blog/investments/large-scale-pv-projects-in-romania-554"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/en/blog/investments/large-scale-pv-projects-in-romania-554"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1762242316.654
REQUEST_TIME
1762242316
APP_ENV
"dev"
APP_KEY
"base64:TUuFX2pGhF01If7DKAC3kZsG4eHfCEDGZOiq1YLX/Fc="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://dev.blissimobiliare.ro"
DB_CONNECTION
"mysql"
DB_HOST
"jaap.c0yqfgjfckuc.eu-central-1.rds.amazonaws.com"
DB_PORT
"3306"
DB_DATABASE
"jaap_dev"
DB_USERNAME
"root"
DB_PASSWORD
"nd3nfm90ms"
BROADCAST_DRIVER
"pusher"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
QUEUE_DRIVER
"redis"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
SOLR_CORE
"core0"
SOLR_USER
"root"
SOLR_PASS
"jA5GpXhFCc7SeY6x"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.sendgrid.net"
MAIL_PORT
"587"
MAIL_USERNAME
"apikey"
MAIL_PASSWORD
"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"
MAIL_ENCRYPTION
"tls"
SENGRID_API_KEY
"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"
PUSHER_APP_ID
"266734"
PUSHER_APP_KEY
"1da30260f9dbb1a0d9db"
PUSHER_APP_SECRET
"10fbeff65291a4cc067a"
SLACK_WEBHOOK_URL
"https://hooks.slack.com/services/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"
MIXPANEL_TOKEN
"25d54c3d4d562ae8353ed7c7417d488b"
ANALYTICS_VIEW_ID
"132938481"
RECAPTCHA_KEY
"6LecPnoUAAAAAAZgRBMRPEA1V2bqSKNPmTnlN_M_"
RECAPTCHA_SECRET
"6LecPnoUAAAAAD-xVo0bqW7XCeGEHjotj48ShhfK"
S3_KEY
"AKIAIY23DCGM7GE6X26A"
S3_SECRET
"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"
S3_REGION
"eu-central-1"
S3_BUCKET
"bliss-files"
IPAPI_KEY
""
DEBUGBAR_ENABLED
"true"
DB_LOG_QUERIES
"false"
DB_LOG_SLOW_QUERIES
"true"
DB_SLOW_QUERIES_MIN_EXEC_TIME
"100"
DB_LOG_OVERRIDE
"false"
DB_LOG_DIRECTORY
"logs/db"
DB_CONVERT_TIME_TO_SECONDS
"false"
DB_LOG_SEPARATE_ARTISAN
"false"
Key Value
APP_ENV
"dev"
APP_KEY
"base64:TUuFX2pGhF01If7DKAC3kZsG4eHfCEDGZOiq1YLX/Fc="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"https://dev.blissimobiliare.ro"
DB_CONNECTION
"mysql"
DB_HOST
"jaap.c0yqfgjfckuc.eu-central-1.rds.amazonaws.com"
DB_PORT
"3306"
DB_DATABASE
"jaap_dev"
DB_USERNAME
"root"
DB_PASSWORD
"nd3nfm90ms"
BROADCAST_DRIVER
"pusher"
CACHE_DRIVER
"redis"
SESSION_DRIVER
"redis"
QUEUE_DRIVER
"redis"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
SOLR_CORE
"core0"
SOLR_USER
"root"
SOLR_PASS
"jA5GpXhFCc7SeY6x"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.sendgrid.net"
MAIL_PORT
"587"
MAIL_USERNAME
"apikey"
MAIL_PASSWORD
"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"
MAIL_ENCRYPTION
"tls"
SENGRID_API_KEY
"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"
PUSHER_APP_ID
"266734"
PUSHER_APP_KEY
"1da30260f9dbb1a0d9db"
PUSHER_APP_SECRET
"10fbeff65291a4cc067a"
SLACK_WEBHOOK_URL
"https://hooks.slack.com/services/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"
MIXPANEL_TOKEN
"25d54c3d4d562ae8353ed7c7417d488b"
ANALYTICS_VIEW_ID
"132938481"
RECAPTCHA_KEY
"6LecPnoUAAAAAAZgRBMRPEA1V2bqSKNPmTnlN_M_"
RECAPTCHA_SECRET
"6LecPnoUAAAAAD-xVo0bqW7XCeGEHjotj48ShhfK"
S3_KEY
"AKIAIY23DCGM7GE6X26A"
S3_SECRET
"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"
S3_REGION
"eu-central-1"
S3_BUCKET
"bliss-files"
IPAPI_KEY
""
DEBUGBAR_ENABLED
"true"
DB_LOG_QUERIES
"false"
DB_LOG_SLOW_QUERIES
"true"
DB_SLOW_QUERIES_MIN_EXEC_TIME
"100"
DB_LOG_OVERRIDE
"false"
DB_LOG_DIRECTORY
"logs/db"
DB_CONVERT_TIME_TO_SECONDS
"false"
DB_LOG_SEPARATE_ARTISAN
"false"
0. Whoops\Handler\PrettyPageHandler