Laravel - artisan commands return InvalidArgumentException - php

Whenever I run any PHP artisan command (even php artisan help), I get:
[InvalidArgumentException]
Attribute [gett] does not exist
I haven't messed with my artisan file. How do I solve this?

Fixed this. Turns out I accidentally used Route::gett instead of Route::get. Found it by doing a global search.

Related

SerializableClosure error in Laravel - Your serialized closure might have been modified and it's unsafe to be unserialized

I am getting this error in my domain where I have used laravel v8 for my site.
It shows error in line no 52 in index file:
Previously my .env file was not reading. As soon as I fixed that error I got this one now.
Please help me solve this error.
What solved it for me was running the following in my project folder:
php artisan route:clear
I also ran the below commands before the above command, but the error persisted. It only went away when I did the above. For reference, here are the commands I ran beforehand:
php artisan cache:clear
php artisan config:clear
php artisan view:clear
npm run dev
php artisan key:generate
I also want to note that I am using the following stack:
Laravel v8
Jetstream
Inertia
Vue2
This issue might occur due to change in APP_KEY value in your .env file.
APP_KEY is used for secure data transmission and Laravel recommends to do that by setting it to a random string.
This APP_KEY is used for
Encrypting cookies.
Creating the signature for signed URLs and queued closures.
Encrypting values using the encrypt() and decrypt() helpers.
A encrypted data can be decrypted if you use the same key which was used while encrypting.
So if possible look for a backup .env file and use the same APP_KEY to resolve it.
It happened to me when I replaced in production my .env file with the .env from development. It was failing because it had a different APP_KEY, so I had to generate a new APP_KEY on production.
It was solved after run these commands:
php artisan key:generate
php artisan config:cache
php artisan route:cache
php artisan view:cache
Maybe it isn't necessary to clear the views and routes.
Sometimes php artisan cache:clear doesn't work..
You should remove manually. Example
rm -rf bootstrap/cache/*.php
try this command
composer update
In vendor → .env,
change APP_URL to http://localhost.

Laravel clear package auto-discovery cache of composer packages

I wanted to remove a package from laravel. I did composer remove vendor/package
It was all good on my dev, but when I deploy on production something went wrong and I cannot do anything now.
when I run
php artisan package:discover
I'm geting
In ProviderRepository.php line 208:
Class 'Laracasts\Flash\FlashServiceProvider' not found
I'm guessing I it is something to do with some kind of cache or maby config
but I cannot run this command,
php artisan config:clear
because I'm getting the same error message as above.
PS. I'm using Laravel 5.6
You may need clear the autoloader files if they get jammed up as it is looking at those cached files when php artisan config:clear runs, thus creating the jam.
Remove the following files and they will rebuild:
/bootstrap/cache/packages.php
/bootstrap/cache/services.php
I fixed my problem deleting a config file like so:
$rm bootstrap/cache/config.php
This file is basically a cache for config, if you want to have this file built for you just run a following artisan command:
$php artisan config:cache

Class 'App\Providers\AppServiceProvider' not found

I have changed my application by using command
php artisan app:name [app_name].
Then, when I try to perform other actions using following artisan commands,
php artisan down
php artisan up
php artisan config:cache
I got the following error:
PHP Fatal error: Class 'App\Providers\AppServiceProvider' not found
How can I solve it?
It is working after Clearing bootstrap/cache directory.
This is how its worked out for me in the case of a fresh install.
First, I cleared the files in boostrap\cache.
Then, in config\app.php, I added the below line in the providers,
\Laravel\Telescope\TelescopeServiceProvider::class,
Then I ran the below commands
php artisan telescope:install
php artisan migrate
And it was working after this.
I don't know for what reason the telescope provider didn't work which was added by Laravel itself. i.e App\Providers\TelescopeServiceProvider::class.
By the way my laravel version was 7.12.0.
In my case, some extension of the VSCode, added a use Illuminate\Support\Facades\App; at the beginning of the file /config/app.php.
I solved it by removing the line from the file and running composer install.
You might have deleted the folder called providers
App/providers.
I had a question like yours then I solved it by copying app/providers directory from another Laravel project to my project thus it worked
I had the same issue, I solved it by,
migrate migration file - vendor>laravel>telescope>database>- manually.
check app.php file, if App\Providers\TelescopeServiceProvider::class, exist or not, have to exist
Run in command shell>
npm run dev

Laravel route list returns error

When i try to show list of available routes artisan returns the following error:
$ php artisan route:list
[ReflectionException]
Class API does not exist
It worked a while ago but now i can't get it to work.
Laravel version is:
$ php artisan -V
Laravel Framework version 5.1.10 (LTS)
Is it possible to debug somehow this error?
You can find what's wrong in the storage/logs/laravel-YYYY-MM-DD.log file.
Check it, resolve and run artisan again.
What's your php version ? I think, if you are under php5.5, then change the shell.

Laravel Fatal Error Class Not Found when migrating

I've run artisan migrate:reset.
I've deleted some of my migration files because I didn't need these tables anymore.
I ran composer dump-autoload followed by artisan dump-autoload
I ran artisan migrate and I keep getting this error:
PHP Fatal error: Class 'Foo' not found in /vagrant/LaravelBackend/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php on line 297
I tried to:
Run again composer dump-autoload and artisan dump-autoload (also used artisan clear-compiled)
Remove the migration table and run artisan migrate:install
Remove the vendor and composer.lock file and run composer install
Search within my project with PHPStorm for class Foo. Didn't find anything.
I keep getting the same error. It's the first time I run this since I updated to 4.2 if that could be related. Anything else I should be looking for?
I had this problem too.
Must remember: class name must be in accordance with filename.
Simple file renaming helped me:)
For example: in file "2014_12_08_100923_create_items_tables.php" must be class with name "CreateItemsTables" with using CamelCase words.
I solved my problem by
Removing all migration
Running composer dump-autoload
Adding them back one by one and running php artisan migrate
Deleting those that caused Laravel to throw an error
Create new migrations to replace the deleted ones
I'm not sure why that worked but my guess is that I might have modified the class name of these problematic migrations in the past.
I also found that renaming the migration with its initial name (The one throwed with the fatal error) also works for some of them.
I ran into this aswell and the solution was different to all of the above. The reason it was failing was because the filename was still mentioned in the migrations table of the DB. Because there were no unique columns I couldn't remove it with PHPMyAdmin and had to tak the CLI route.
Login to your server as root.
Type the following:
mysql -p database_name
(it now prompts for your password. From here on out everything is preceded with mysql > which just means that you're in the Mysql environment.
select * from migrations;
Look for the migration file you removed and copy the name.
delete from migrations where migration = '2015_07_21_000119_create_some_table';
It should mention something about 1 row affected. Now verify that it's gone by typing the first command again:
select * from migrations;
If it's gone exit the Mysql environment by typing
exit;
Now try 'php artisan migrate:rollback' again and it should work like a charm :-)
The actual solution is to use the correct naming for your translations. You still may need to do a
composer dump-autoload
The migration files must be as follows
YYYY_MM_DD_000000_create_some_table.php
and the class name inside must be
class CreateSomeTable extends Migration{}
There is an easier way.
Recreate those delete migrations manually. artisan make:migration
run artisan migrate:reset to rollback
Delete those dummy migations files just created.
run artisan migrate:refresh
I know this is a bit past but there is a better way actually. Run the following in terminal and feel free yourself to remove any of them:
~$ php artisan clear-compiled;php artisan cache:clear;php artisan config:clear;php artisan debugbar:clear;php artisan view:clear;php artisan optimize
To do it a regular task create an executable file named artisan-clear:
#!/bin/bash
php artisan clear-compiled
php artisan cache:clear
php artisan config:clear
php artisan debugbar:clear
php artisan view:clear
php artisan optimize
For me, the solution was that my class name inside the migration somehow started with a lowercase letter. When I changed the class name to be all upper case, then ran a composer dump-autoload, it ended up working for me. This is using Laravel 5.1, for what it's worth.
I did like this:
1. Deleted row non exist migration from migrations table from database
2. And run the command php artisan migrate:refresh
This helped to solve my problem.
*all your data will deleted from database tables
version 5.1.3 same problem fix it me:
drop database all tables
php artisan migrate:status
output: No migrations found.
ok use it
php artisan migrate:install
php artisan migrate
output is:
Migrated: 2016_11_24_093015_dt_some_table
Migrated: 2016_12_05_141004_dt_some_table
Migrated: 2016_12_07_110518_dt_some_table
Migrated: 2016_12_08_141807_dt_some_table
Migrated: 2016_12_13_090832_dt_some_table
this problem is solved
I had the same problem. When I was hiting php artisan migrate:reset, I got Class 'CreateImagesTable' not found. And composer dump-autoload didn't help.
My solution was very easy:
php artisan make:migration create_images_table --create=images
composer dump-autoload
Then I got:
SQLSTATE[HY000]: General error: 1 no such table: images (SQL: drop table "images")
so in sqlite I typed:
CREATE TABLE `images` (
...> `id` INTEGER
...> );
And then php artisan migrate:reset
Now I'm happy again
If artisan doesn't work at all and keeps throwing you this message no matter the command you give, delete the config.php file from bootstrap/cache folder.
After that run again
php artisan config:cache

Categories