在我的laravel 5.6项目部署共享主机期间,我遇到了一个主要问题,看来我的刀片无法运行。我已将我的所有项目文件复制到我的根目录中的新文件夹即“muxproject”,然后我将laravel项目的公共文件夹中的所有文件复制到public_html,并且我已将index.php文件更改为如下
<?php
define('LARAVEL_START', microtime(true));
require __DIR__.'/../muxproject/vendor/autoload.php'; //changed
$app = require_once __DIR__.'/../muxproject/bootstrap/app.php'; //changed
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
当我导航到链接http://example.com/登录页面根据我在web.php中的逻辑出现并在登录成功后要求登录用户被重定向到链接http://example.com/home没有问题仍然在这里但当我导航到http://example.com/register什么都没有加载除了我的标题,页脚和侧边栏我的注册页面不会出现。与http://example.com/branch和http://example.com/userbranch的情况相同以下是我的web.php文件的代码
<?php
Route::middleware(['auth'])->group(function (){
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/branch','Branch\BranchController@index')->name('index');
Route::get('/userbranch','Branch\UserBranchController@index')->name('index');
Route::get('/course', 'Course\CourseMasterController@index')->name('index');
Route::get('/coursedetail','Course\CourseDetailController@index')->name('idex');
Route::get('/studentenquiry','Enquiry\StudentEnquiryController@index')->name('index');
});
Route::get('/', function () {
if(\Illuminate\Support\Facades\Auth::check())
return view('home');
return view('welcome');
});
Auth::routes();
Route::get('delete/{id}','Auth\RegisterController@destroy');
Route::patch('update','Auth\RegisterController@update')->name('update');
Route::patch('/update/branch','Branch\BranchController@update')->name('update');
Route::post('/storebranch','Branch\BranchController@store')->name('store');
Route::post('/storebranchuser', 'Branch\UserBranchController@store')->name('store');
Route::get('/delete/branch/{id}','Branch\BranchController@destroy');
Route::get('/userbranch/delete/{id}', 'Branch\UserBranchController@destroy');
Route::patch('/update/userbranch','Branch\UserBranchController@update')->name('update');
Route::post('/storecourse','Course\CourseMasterController@store')->name('store');
Route::get('delete/course/{id}','Course\CourseMasterController@destroy');
Route::patch('update/course', 'Course\CourseMasterController@update')->name('update');
以下是RegisterUsersController的代码,用于显示注册表单
public function showRegistrationForm()
{
$userData = \App\User::all();
return view('auth.register',compact('userData'));
}
@section('content')
//
@endsection
我的刀片中的内容register.blade.php,branch.blade.php和userbranch.blade.php无法正常工作,我只是在页面,页脚和侧边栏上只有空页面,只是在共享主机上每个都可以正常工作本地
下面是.htaccess文件的代码
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
请帮助我这方面,我已经经历了很多教程,我只是想通了由于某种原因,@ section('content')之间的代码没有加载;
为什么你复制了文件并粘贴在共享主机中并更改了laravel的默认文件?
我想你应该阅读这个答案并理解然后部署你的项目
你可以用两种方式做到这一点
第一种方式(建议但需要花时间学习):
1 - 你应该学习如何使用git (version control system)。当你了解它,那么你将能够在git服务器上保存你的laravel项目。学习git时你会读到有关克隆的知识,它会让你从git下载你的项目到任何服务器,任何计算机。起初可能很难理解,但相信我它非常有用,你应该使用它。访问github.com,gitlab.com或bitbucket.com。
2-当你学会了如何使用git然后将你的代码保存到git。然后使用git bash(用于windows)或使用终端用于mac / linux这些是命令行工具。使用它,您可以连接到您希望托管站点的服务器。使用ssh登录共享主机服务器并转到public_html并在那里克隆你的laravel prpject。克隆后,转到项目目录创建.env文件并根据您的设置进行更改,然后运行composer install(它将安装项目所需的所有软件包)。然后使用cpanel和hit domain将laravel项目的根目录设置为您的域。你应该能够看到你的laravel工作
第二种方式:(不推荐但很快)