error when i run php artisan migrate command on line 51
Get the solution ↓↓↓When I run the php artisan migrate command in terminal I'm left with this.
ParseError
syntax error, unexpected ')'
at C:\laragon\www\testnum2\vendor\laravel\framework\src\Illuminate\Bus\BusServiceProvider.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:\laragon\www\testnum2\vendor\composer\ClassLoader.php:322
Composer\Autoload\includeFile("C:\laragon\www\testnum2\vendor\composer/../laravel/framework/src/Illuminate/Bus/BusServiceProvider.php")
2 [internal]:0
Composer\Autoload\ClassLoader::loadClass("Illuminate\Bus\BusServiceProvider")
PS C:\laragon\www\testnum2>
I'm not quite sure what is causing but this is the code for that file thats causing the error.
<?php
namespace Illuminate\Bus;
use Illuminate\Contracts\Bus\Dispatcher as DispatcherContract;
use Illuminate\Contracts\Bus\QueueingDispatcher as QueueingDispatcherContract;
use Illuminate\Contracts\Queue\Factory as QueueFactoryContract;
use Illuminate\Contracts\Support\DeferrableProvider;
use Illuminate\Support\ServiceProvider;
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
Answer
Solution:
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
Answer
Solution:
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.
Share solution ↓
Additional Information:
Link To Answer People are also looking for solutions of the problem: cannot add or update a child row: a foreign key constraint fails
Didn't find the answer?
Our community is visited by hundreds of web development professionals every day. Ask your question and get a quick answer for free.
Similar questions
Find the answer in similar questions on our website.
Write quick answer
Do you know the answer to this question? Write a quick response to it. With your help, we will make our community stronger.