将Laravel-5项目从Localhost转移到服务器

时间:2015-09-16 02:58:41

标签: php laravel laravel-5 hosting

我是laravel框架的新手。最近我做了一个简单的博客类网站。在localhost中它运行良好没有任何问题,如果出现任何问题,那么我曾经做过composer updatecomposer dump-autoload等。

但是当我将其迁移到服务器时出现以下错误。这个错误是什么,我是否必须再次运行composer update?如果是,那么我该如何在我的服务器上运行它。我不知道这件事,请帮助我。

Warning: require(/home/somedomain/public_html/CMS/app/http/helpers/backend/helpers.php): failed to open stream: No such file or directory in /home/somedomain/public_html/CMS/vendor/composer/autoload_real.php on line 58

下一个错误是:

Fatal error: require(): Failed opening required '/home/somedomain/public_html/CMS/app/http/helpers/backend/helpers.php' (include_path='/home/somedomain/public_html/CMS/vendor/phpunit/php-text-template:/home/somedomain/public_html/CMS/vendor/phpunit/php-timer:.:/usr/lib/php:/usr/local/lib/php') in /home/somedomain/public_html/CMS/vendor/composer/autoload_real.php on line 58

我在Laravel5做这个项目。如果错误是由index.php引起的,则此处为index.php

<?php
/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylorotwell@gmail.com>
 */

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels nice to relax.
|
*/

require __DIR__.'/CMS/bootstrap/autoload.php';



/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/CMS/bootstrap/app.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make('Illuminate\Contracts\Http\Kernel');

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

我的主项目目录以CMS文件夹开头。在同一个CMS目录中,我有一个index.php,在CMS文件夹中我有一个appbootstrapconfig,{{1 },database文件夹和许多。当我删除vendor的所有代码并编写index.php并转到我的网站<?php echo "Hello World"; ?>时,我得到somedomain.com“``作为输出。如何解决此错误?

3 个答案:

答案 0 :(得分:0)

首先,如果你想在共享主机上运行你的laravel项目,这应该是可能的。只需将包含vendor目录的整个项目上传到您的服务器即可。

确保您的域名指向laravel项目中的public文件夹 如果您想在域的子文件夹中访问项目(例如http://your-domain.com/your-app/),则需要进行一些更改。这是Laravel 4的how to,也适用于L5。

如果错误仍然存​​在,请确保您的文件夹和文件的大小写正确。如果您的localhost是一台Windows机器(大小写没有区别)并且您转移到Linux服务器(区分大小写),您可能会遇到问题。因此,请确保代码中的路径和文件名与服务器上的大小写相同。

为了避免这样的问题,我建议使用Laravel Homestead。这是laravel开发的虚拟机环境。

答案 1 :(得分:0)

你使用哪个服务器?检查您的路径是否在config文件夹中定义。 还要将所有依赖项安装在正确的文件夹中,并将所有依赖项复制到您的服务器。您可以查看此链接以获得正确的安装https://laracasts.com/series/laravel-5-fundamentals。 很可能你错过了一些文件。尝试重新安装项目。

答案 2 :(得分:0)

我想您需要将基本路径从localhost更改为您的域才能使其正常工作。 当我遇到同样的错误时,这对我有用。