问题
I have a working Laravel application on my desktop. I am trying to deploy it to a godaddy server. The application has been copied and verified on the server in the same structure format as on my desktop. I have changed the database information in the config to the proper entries. When I run from the server I get the error:
FatalErrorException
Class 'name of the class' not found.
The error is generated in the Routes.php file. Again this app works locally, any idea why it errors when deployed?
回答1:
Assuming you have a VPS server running Apache (or whatever else) with a a properly configured vhost and terminal (ssh) access, if you want deploy a Laravel app there, you surely need to
- Copy all project files, except for the vendor directory, from localhost to your server
- Verify file ownage and access rights (chown/chmod)
- Change all necessary config
- run a
composer update
- run
php artisan migrate
to create the database scheme - clear cache
php artisan cache:clear
Next thing is populating the database with your apps data from localhost. You can either do it manually (dump sql local, import it on server), or if you want Laravel for it you can use Seeding (Laravel docs).
There even is a nice package that let's you automaticaly generete Seeders from your current database content - so it's very useful for the purpose of moving the app to another server.
https://github.com/orangehill/iseed
Inverse seed generator (iSeed) is a Laravel 4 package that provides a method to generate a new seed file based on data from the existing database table.
EDIT
If you are using a shared hosting account, check out this guide
http://driesvints.com/blog/laravel-4-on-a-shared-host
This post from Laravel forum might also be of use
http://forums.laravel.io/viewtopic.php?id=9639
来源:https://stackoverflow.com/questions/21065957/laravel-deployment