简体   繁体   中英

Laravel controller routing broken after upgrading from 4.1 to 4.2

I have a laravel project which runs perfectly fine on laravel 4.1.31 , now my challenge was to migrate that project to higher version say 5.3. I started following the upgrade guide provided by Laravel on this link below

https://laravel.com/docs/5.3/upgrade#upgrade-4.2

I changed the laravel version on composer.json to 4.2.* as shown below

my composer.json file

 { "require": { "classpreloader/classpreloader": "1.0.2", "d11wtq/boris":"1.0.8", "filp/whoops":"1.0.10", "ircmaxell/password-compat":"1.0.4", "jeremeamia/SuperClosure":"1.0.2", "laravel/framework":"4.2.*", "monolog/monolog":"1.15.0", "nesbot/carbon":"1.17.0", "nikic/php-parser":"v0.9.5", "patchwork/utf8":"v1.1.30", "phpseclib/phpseclib":"0.3.10", "predis/predis":"v0.8.7", "psr/log":"1.0.0", "spipu/html2pdf":"4.5.0", "stack/builder":"1.0.3", "swiftmailer/swiftmailer":"5.4.1", "symfony/browser-kit":"2.4.10", "symfony/console":"2.4.10", "symfony/css-selector":"2.4.10", "symfony/debug":"2.4.10", "symfony/dom-crawler":"2.4.10", "symfony/event-dispatcher":"2.7.3", "symfony/filesystem":"2.7.3", "symfony/finder":"2.4.10", "symfony/http-foundation":"2.4.10", "symfony/http-kernel":"2.4.10", "symfony/process":"2.4.10", "symfony/routing":"2.4.10", "symfony/security-core":"2.4.10", "symfony/translation":"2.4.10", "tappleby/laravel-auth-token":"0.3.4", "tecnickcom/tcpdf":"6.2.12", "way/generators": "2.*" }, "autoload": { "files": [ "app/libraries/DashboardInit.php", "app/libraries/MailSmsHandler.php", "app/libraries/Twilio.php", "app/libraries/class.phpmailer.php", "app/libraries/class.smtp.php", "app/libraries/php-excel.php" ], "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds" ] }, "repositories": { "packagist": { "url": "https://packagist.org", "type": "composer" } } } 

After successful composer update I followed the documentation and added new Encryption Defaults to the specified app/config/app.php file. and the next steps were not applicable in my case so i skipped them.

With all the excitement i ran composer dump-autoload next after which i also ran php artisan dump-autoload without fail again and again :) :)

and finally with courage opened the chrome with my project url :( it loads a page which i didn't like at first a Whoops error page saying

Symfony \\ Component \\ Debug \\ Exception \\ FatalErrorException (E_UNKNOWN)

It doesn't give much information about the error. I tried to debug through my routes file with this code.

Route::get('/login', function(){
$environment = App::environment();
    echo $d =  class_exists('DashboardController');
    $d = new DashboardController();
    $c = get_declared_classes();
    sort($c);
    dd($c);
});

By this experiment I found out that application is not loaded with DashboardController , or any other controller for that matter. I have tried many things with composer and artisan cache clearing, optimizing but no luck so far leading me to post this question.

Glad to take all the help you people offer :)

Updating my composer.json with the static files details solved my issue the app was broken because these autload-files classes were missing which used to instantiate the other controller files while autloading of classes.

Thank you for your time. Sorry to ruin your time due to this stupid question.

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
    "laravel/framework": "4.2.*",
    "tappleby/laravel-auth-token": "0.3.*",
    "spipu/html2pdf": "~4.5"
},
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/libraries",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
     "files": [
        "app/libraries/DashboardInit.php",
        "app/libraries/MailSmsHandler.php",
        "app/libraries/Twilio.php",
        "app/libraries/class.phpmailer.php",
        "app/libraries/class.smtp.php",
        "app/libraries/php-excel.php"
    ]
},
"scripts": {
    "post-install-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "php artisan clear-compiled",
        "php artisan optimize"
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ]
},
"config": {
    "preferred-install": "dist"
},
"minimum-stability": "stable"

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM