我是laravel框架的新手。最近我做了一个简单的博客类网站。在localhost
中它运行良好没有任何问题,如果出现任何问题,那么我曾经做过composer update
,composer 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
文件夹中我有一个app
,bootstrap
,config
,{{1 },database
文件夹和许多。当我删除vendor
的所有代码并编写index.php
并转到我的网站<?php echo "Hello World"; ?>
时,我得到somedomain.com
“``作为输出。如何解决此错误?
答案 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更改为您的域才能使其正常工作。 当我遇到同样的错误时,这对我有用。