skip to Main Content

When I run the php artisan migrate command in terminal I’m left with this.

   ParseError 

  syntax error, unexpected ')'

  at C:laragonwwwtestnum2vendorlaravelframeworksrcIlluminateBusBusServiceProvider.php:51
     47▕             return new DatabaseBatchRepository(  
     48▕                 $app->make(BatchFactory::class), 
     49▕                 $app->make('db')->connection(config('queue.batching.database')),
     50▕                 config('queue.batching.table', 'job_batches'),
  ➜  51▕             );
     52▕         });
     53▕     }
     54▕
     55▕     /**

  1   C:laragonwwwtestnum2vendorcomposerClassLoader.php:322
      ComposerAutoloadincludeFile("C:laragonwwwtestnum2vendorcomposer/../laravel/framework/src/Illuminate/Bus/BusServiceProvider.php")

  2   [internal]:0
      ComposerAutoloadClassLoader::loadClass("IlluminateBusBusServiceProvider")
PS C:laragonwwwtestnum2>

I’m not quite sure what is causing but this is the code for that file thats causing the error.

<?php

namespace IlluminateBus;

use IlluminateContractsBusDispatcher as DispatcherContract;
use IlluminateContractsBusQueueingDispatcher as QueueingDispatcherContract;
use IlluminateContractsQueueFactory as QueueFactoryContract;
use IlluminateContractsSupportDeferrableProvider;
use IlluminateSupportServiceProvider;

class BusServiceProvider extends ServiceProvider implements DeferrableProvider
{
    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        $this->app->singleton(Dispatcher::class, function ($app) {
            return new Dispatcher($app, function ($connection = null) use ($app) {
                return $app[QueueFactoryContract::class]->connection($connection);
            });
        });

        $this->registerBatchServices();

        $this->app->alias(
            Dispatcher::class, DispatcherContract::class
        );

        $this->app->alias(
            Dispatcher::class, QueueingDispatcherContract::class
        );
    }

    /**
     * Register the batch handling services.
     *
     * @return void
     */
    protected function registerBatchServices()
    {
        $this->app->singleton(BatchRepository::class, DatabaseBatchRepository::class);

        $this->app->singleton(DatabaseBatchRepository::class, function ($app) {
            return new DatabaseBatchRepository(
                $app->make(BatchFactory::class),
                $app->make('db')->connection(config('queue.batching.database')),
                config('queue.batching.table', 'job_batches'),
            );
        });
    }

    /**
     * Get the services provided by the provider.
     *
     * @return array
     */
    public function provides()
    {
        return [
            Dispatcher::class,
            DispatcherContract::class,
            QueueingDispatcherContract::class,
            BatchRepository::class,
        ];
    }
}

I hope that this is enough to get help.
I wanna also mention that I’ve used php artisan migrate before and recently I had to upgrade some things like composer and phpmyadmin

2

Answers


  1. Chosen as BEST ANSWER

    Well my problem was my PHP being <7.3

    But when I simply checked it in phpinfo file it showed up as 7.4.11.

    @lagbox helped me by saying : "there are different versions on your system, and the CLI and the webserver can have different configurations"

    To be honest I wasn't sure exactly what to do from that but I decided to just delete PHP 7.2 from my PATH.

    • My hope was that it would then recognize I was using 7.4 and to my suprise it did.
    • Also I'm sure there are more effective ways of doing this but that was the way I chose.

  2. The problem is that the PHP version you’re using ( below 7.3 ) does not support trailing comma in function calls.

    Please read this: Trailing Commas are allowed in Calls

    Solution is to switch to > PHP 7.3

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search