I'm having problems in one of my dev environments that I thought I had tracked down to a problem with the autoload_classmap.php file, but now I'm not so sure. I'm having a hard time tracking it any further and, frankly, my experience with the laravel forums has been an absolute joke, so I thought I'd ask here.
Usually after I change git branches in my local development environment, I get the following error trying to load up my site:
Fatal error: Class 'Illuminate\Config\EnvironmentVariables' not found in /home/username/projects/project-name/vendor/laravel/framework/src/Illuminate/Foundation/start.php on line 119
Call Stack:
0.0000 231784 1. {main}() /home/username/projects/project-name/public/index.php:0
0.0181 1464432 2. require_once('/home/username/projects/project-name/bootstrap/start.php') /home/username/projects/project-name/public/index.php:35
0.0233 2006416 3. require('/home/username/projects/project-name/vendor/laravel/framework/src/Illuminate/Foundation/start.php') /home/username/projects/project-name/bootstrap/start.php:84
The class name changes every time I run the installation. Originally, I tracked the problem down to the fact that composer dump-autoload wouldn't update the autoload_classmap.php file to include any of the Illuminate classes. Once I figured out I needed to run composer install instead, I found those classes in the class map...but I'm still getting that error, despite that line showing up in my class map and pointing to the right location:
'Illuminate\\Config\\EnvironmentVariables' => $vendorDir . '/laravel/framework/src/Illuminate/Config/EnvironmentVariables.php',
I'm finally at the point where I can't seem to get my environment running at all. Last time this happened it took three separate times recreating my environment until things magically started working. Can anyone point me in the right direction to troubleshoot why files that are showing up in my classmap still aren't loading? Is there a log I can check? Is there some combination of composer commands I can run to get everything running?
Related
I've been modifying a module and for some reason prestashop does not take into consideration the code modifications in module.php.
I've made modifications a while back and I need to modify it again due to an update that raises an error, the problem is that I get the error even if I remove said line.
I get this type of error: PHP message: PHP Notice: Undefined index: ordersorderFilter!active in /modules/module/module.php on line 104
I've commented first than removed that line but I still get the error.
It seems like there is a cache somewhere that I can't find, I've deactivated all possible cache in prestashop, activated debug mode, deleted the dev and prod folders in /var/cache/ but I still get the error.
I've used grep on the server to try to find that line, and when I delete it from the file I can not find it anywhere else on the server (but can find it if I add it).
Anybody has any idea?
Thanks a lot!
Prestashop does not perform any kind of caching on the modules PHP files so the problem lies elsewhere or at "lower level" (webserver / proxy ie.).
So check your environment for server-side caching, proxies or PHP accelerators such as opCache that may not serve changes from the source server.
Also try renaming or deleting the offending file altogether and see if the error changes, if not you might simply be looking at the wrong file :)
Just upgraded from Laravel 6 to 7, and had the error response above when submitting a contact form. I eventually found a solution that seems to work and I am submitting here to help out the next guy.
In the terminal run:
composer require illuminate/mail
Add the following to the top of the controller file (app/Http/Controllers/Main.php in my case):
use \Illuminate\Support\Facades\Mail;
Add this to bootstrap/app.php:
$app->register(Illuminate\Mail\MailServiceProvider::class);
Save and test, and it worked localhost.
If the above does not work for you, there are some other possible issues and solutions available at this link, where I must give credit to vipindasks.
https://laracasts.com/discuss/channels/lumen/lumen-52-mail-not-working
Since I am suppose to ask a question:
Do you see any problems with this solution even though the site and mailer is working now?
You are simply missing a backslash. This tells the autoloader that the file you are looking for is not in the namespace your controller resides in :
$app->register(\Illuminate\Mail\MailServiceProvider::class);
Run composer update hope this will help you
For some reason most of my pages are giving this error "Call to undefined method DateTime::getTimezone()". I'm kind of positive that the pages that have this error got a ->created_at->diffForHumans() function. I still have no idea whats causing this.. It has been working fine since forever.
I tried updating my packages but there was no luck there.. Searched around for the function itself or inside my controllers.. also no luck. Checked my time zone in config/app.php and it had the same time zone that I've always had which is Asia/Amman
Check this discussion please:
https://github.com/laravel/framework/issues/24886
As it say there:
This issue is closed as it is not an issue with Laravel; it was an
issue with the PHP docs at the time, which have since been updated. I
would suggest you review your own code and make sure it's not a
namespace problem (i.e. use new \DateTime instead of new DateTime) and
if you still can't figure it out, post a question on StackOverflow
with the minimum amount of code needed to reproduce the error.
Edit:
Since this was after a Composer update, I would guess that the problem
lies with one of the packages that were updated. The error message
should give you the exact line number producing the error, which
should help you determine what package is causing the error. Then file
a bug report (or pull request) against that package if possible.
I hope it helps.
I kept changing the php version and it eventually worked. It was 7.1.22 and I changed it to 7.2.* and it worked just fine...
Strange problem: Have installed Laravels 'Valet' to serve sites from .dev locally. When I am in my 'code' directory where I parked valet and create say laravel new blog installed perfectly and spins up on blog.dev. However say I create laravel new test and visit test.dev I get 404 - nothing found ...? I removed everything and tried again but the same thing happens. Has anyone else had the same problem?
UPDATE
Interestingly, from that same directory 'code' If i run a ping on blog.dev I get returned packets and pings. However I do the same on test, I get bunch of help commands?
FURTHER UPDATE
So inside the project 'test' if I run php artisan serve I get a response of Laravel development server started: <http://127.0.0.1:8000> and If I visit the path bingo it works. But that confuses the issue even further for me...?
EVEN FUTHER UPDATES
So, I wish to add this iMac was a previous developers so the home folder is called Adam, I am a seperate user but also an Admin with my own folder sat next to it called 'Dan'but not a 'home' directory as such it is just in the sames 'Users' directory whenever I try to do anything I get errors like: ERROR: Notice: Undefined index: domain in /Users/Adam/.composer/vendor/laravel/valet/cli/valet.php on line 55 That was when trying to spin up laravel share
I'm trying to implement modular extensions into a codeigniter 2 setup but am having a few problems. I followed the installation instructions on the wiki and everything was working fine. Then I started to play around a bit and try and use it. All I did was create a new module called users with the required folders and added a model class called users_m. I then tried to load this from my welcome module controller. According to the wiki this should be very straightforward. I simply added this line
$this->load->model('users/users_m');
to the constructor of my welcome controller.
Unfortunately at this point I get the white screen of death.
So I tried something else. This time I removed the load model line and added
$this->output->enable_profiler(TRUE);
This time I got the welcome page displayed and I got the profiler, but at the top of the page I got this error:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: CI::$profiler
Filename: MX/Loader.php
Line Number: 145
I don't know if these two tries are related or not, but there's obviously something not right with my setup. Could someone point me in the right direction?
If you accessing the model from the controller in the same module, you can load it using just:
$this->load->model(‘user_m’);
You only have to do $this->load->model(‘module/model_name’); when your cross loading between modules.
Just to make sure, your model is located here right?
application/modules/users/models/users_m.php
As for the profiler error:
1) Have you done installation step 5 and put the Modular Extensions core files into application/core?
2) Do you have the latest version of HMVC? There have been updates to mx/loader.php in the last couple days.
Ps. great tutorial on HMVC: http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/
if you have folder structure like:
application/
modules/
users/
models/
users_m.php
then use this to call modelsin you controller
$this->load->model('users/users_m','',TRUE);