after installing composer and laravel, I create new project by using commandline laravel new blog, and then I stuck at here. Please tell me what should I do? thanks.
I had the same problem. Cost me two days to figure out.
Mine is because the APCu extension. Change apc.enable_cli to 0 then it worked.
I am using php 5.5.28 and windows 10, however in windows 7 is fine with the same configuration. So check your php.ini configuration.
I had same issue, but because of xdebug running on the command line. I disabled xdebug and it resolved the issue.
Related
I just deployed using Envoyer and there were no errors. However, I don't see the new version of the site in my browser.
I SFTP'd into the server, and sure enough the new files are there.
I SSH'd into the current directory and ran php artisan cache:clear but it didn't make a difference; I still see the old version of the site.
I've done tons of deployments and never encountered this before. How do I fix this?
Just adding here. I ran into the same issue after changing the PHP version on the site inside of Forge. My server now has multiple versions of PHP on it. I had to go to the site inside of Envoyer, then go to the server, then updated the PHP version to the new PHP version of the site. Now, FPM will reload the proper PHP version.
From the symptoms you've listed, it sounds like OPcache is enabled.
Restart PHP with the following command:
sudo service phpX.X-fpm reload
Where X.X is the version of PHP you're using.
I was running into this as well, and solved it with the following steps
Go to "Servers" tab in Envoyer
Click "Update Server" icon
Enable "Reload FPM After Deployments"
Short version
I'm getting this error, when I run php artisan serve and visit my home page:
ReflectionException (-1)
Class setEventDispatcher does not exist
Details
Laravel version: 5.6.39
Environment: local
OS: macOS Mojave 10.14.2
It started, when I got an error using npm (in another project), so I reinstalled Node (this way).
After doing that, then this project (in question) couldn't be started. I was getting this error, when running php artisan serve:
dyld: Library not loaded: /usr/local/lib/libpng16.16.dylib with anything php related
Referenced from: /usr/local/bin/php
Reason: image not found
That error was resolved by updating and upgrading brew.
Then I was capable of starting the project (php artisan serve). But when I visit the home page, this error was shown:
ReflectionException (-1)
Class setEventDispatcher does not exist
If I follow the stack trace, then I can see that it was this line (from my homeController) that triggered the error:
if( ! Auth::check() ){
return view( 'pages.home' );
}
If I commented that out, then the same error occured from another place, where the Auth-module was being used.
Here's the stack trace:
Does anyone know how to resolve this? I can't find any promising results on Google, - and I have no idea why this happens... :-/
Addition1
I tried composer clear-cache and deleting the vendor-folder, and then doing a composer install and the problem still occured.
I also checked my Service Providers, as Marcus suggested, - but I don't really know what to look for in there. It all looks pretty regular (no fancy if-statements or anything).
Addition2
I realized, that I couldn't connect to my database using Sequel Pro. And it was because Brew had updated my MySQL-version from 5.5 to 8.0.
That was resolved by doing something along these lines (I did a bunch of stuff, so I might be missing a coulple of steps):
brew unlink mysql
brew install mysql#5.7
brew switch mysql 5.7.21
brew link mysql
and I could then verify the version with mysql --version. I also had some permission issues with that MySQL-version-change, but I'm emitting that, so this doesn't get too long.
Addition3
I tried disabling the Laravel Debugbar (by deleting it from composer.json, deleting composer.lock and vendor and then running composer install). And that fixed it!! ... But!
When I later tried to install Barryvdh's IDE Helper, then the exact same error came back!?
I performed these three steps, to install the IDE Helper (and re-introduce the error):
Run this command from the root of my directory: curl https://gist.githubusercontent.com/barryvdh/5227822/raw/4be028a27c4ec782965bb8f2fdcb4c08c71a441d/_ide_helper.php -o _ide_helper.php
Add these lines to app/Provider/AppServiceProvider.php:
...
if ($this->app->environment() !== 'production') {
$this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
}
Run this command: composer require --dev barryvdh/laravel-ide-helper
So I'm back at this error:
ReflectionException (-1)
Class setEventDispatcher does not exist
... The stack trace is identical to the one shown previously (sprung from Container.php).
Tried every solution, none of them worked.
Finally, i realised that when trying to upgrade php to 7.3.3 it was infact a network error that caused the fail. Read the logs, tried again, restarted valet and tried again.
It works now.
Upgrading to 7.3.3 was the solution indeed.
Thank you!
So this is what usually fixes it for me
Reinstall composer dependencies by removing vendor folder and composer.lock. Then run composer clear-cache and then composer install (this is usually the problem)
Check that all service providers are imported correctly in app.php under directory config
Make sure that your service providers are not importing something that does not exist, for example if you register a service provider in production but is only installed as dev:
if (env('APP_DEBUG')) {
$app->register(Barryvdh\Debugbar\LumenServiceProvider::class);
}
If you use valet, I solved it running
valet restart and all works fine.
cheers!
The fix for me was to update PHP to 7.3.3 and then restart valet. Apparently this was a bug with php 7.3
https://github.com/laravel/framework/issues/27052
Hope this helps
I got some idea... I've just run into this problem after reconfiguring my apache virtual host ports, so I restarted apache/httpd again, and the problem went away. Might it be related with the server environment?
I am facing the same issue in mac book pro. My system configuration is PHP 7.3, MySQl and I use SQL Pro. I have implemented all the above methods but nothing gets worked.
The issue is still a mystery for me but for temporary I have solved this issue using
artisan command as bellow.
php artisan serve
Its Allow me to run the project on http://localhost:8000
Hope this can help to solve this issue.
Try to restart PHP. When I reboot my Mac, then this happens. After restarting PHP everything starts to work.
sudo brew services restart nginx
Everytime I try to install Homestead on 5.4, I cannot. Here is the error message I get from the terminal. I have tried to look at the path, but I see no issues. Aside from this, I have no clue what to do. Any troubleshooting tips would be appreciated.
link to issue (picture)
Two ways to fix this
Disable tls composer config -g -- disable-tls true - not recommended
Enable the openssl extension in your php.ini file extension=php_openssl.so
I was using php 5.4 fine with its php_snmp.dll enabled, but as soon as I upgraded to php 5.6.7, I cannot use php_snmp.dll anymore.
I just upgraded to php 5.6.10 hoping that snmp problem would be fixed but its not.
If I comment out that line in php.ini php does not crash and my apache 2.4 webserver starts and runs fine.
Does anyone have this issue with above mentioned php versions?
I actually just found a comment in here that helped me solve the issue.
Basically in c:\usr\snmp\persist\mib_indexes\ directory I found two files named 0 and 1. If you remove them SNMP extension works fine.
I searched the net, I followed the instructions to solve this problem but I could not solve it,
when I want to use Laravel php artisian it gives errors like this:
Laravel requires php Mcrypt extenstion.
Note: I am using MAMP in Mac
please give example and solution for mac with MAMP.
I had a similar issue on Ubuntu 12.04. What version of PHP are you running and does Mcrypt show up as active when you run:
<?php
phpinfo()?
?>
It's quite possible that your command-line PHP isn't the same that MAMP is using, but rather the one that came with OSX. To find out, you can open your terminal and type php -i | grep php.ini, which will show you what ini file you're using.
If this is the case, which seems likely, you can follow the steps of older SO posts such as this one to create a symlink or overwrite the default PHP.
Alternatively, you can upgrade your system's PHP using Homebrew, for instance. I'm running 5.5.8 on my Macs, and it's working great. Do note that I do not necessarily recommend this, though, as configuring MAMP to use the new version isn't a fun experience. Also note that if you do this, you'll have to install both PHP and Mcrypt through Homebrew.