在本地安装 LARAVEL 5 与共享托管目录相同(部署 L5 共享托管解决方案)
Install LARAVEL 5 Locally Same as Share Hosting Directory (Deploy L5 Share Hosting Solution)
我正在尝试找到组织我的 Laravel 应用程序与共享托管目录相同的方法。
“服务器”文件夹中的示例
1.Install新鲜laravel申请
composer create-project laravel/laravel main-app --prefer-dist
2.Move "Public" 主应用程序上方和旁边的目录 folder.Rename 到 public_html
3.Inside public_html 文件夹也创建新的 "app" 文件夹来保存里面的所有文件 index.php
总结
服务器
│<br>
└────主应用
│ │ 应用
│ │ bootstrap
│ │ ……
│
└────public_html
│ 应用程序
│ │──── index.php
│
这就是我需要的 do.But 我做不到!
每次我尝试 运行 artisan 我得到
chdir() no such file or directory (errno 2)
使用 Laravel 4 我能够编辑 path.php 那就是 it.But L5 看起来像是倒退了一步!
我已经尝试扩展 Application.php class 但不幸的是没有成功!
这是解决方案!
1.Create MyApp.php class inside app folder to extend Applicaton.php class
<?php
namespace App;
class MyApp extends \Illuminate\Foundation\Application
{
public function publicPath()
{
return $this->basePath.DIRECTORY_SEPARATOR.'/../public_html/app';
}
}
2.Inside bootsrap/app 使用自己的 class
一定要把旧的注释掉! , 你不需要了
// $app = new Illuminate\Foundation\Application(
// realpath(__DIR__.'/../')
// );
$app = new App\MyApp(
realpath(__DIR__.'/../')
);
3.Make 在 server.php 内更改为目标 index.php
if ($uri !== '/' && file_exists(__DIR__.'/../public_html/app'.$uri)) {
return false;
}
require_once __DIR__.'/../public_html/app/index.php';
4.Make里面的变化index.php
require __DIR__.'/../../main-app/bootstrap/autoload.php';
和
$app = require_once __DIR__.'/../../main-app/bootstrap/app.php';
完成
现在 artisan 工作并且 Index.php 与共享主机一样生活!
服务器
│<br>
└────main-app
│ │ 应用
│ │ bootstrap
│ │ ……
│
└────public_html
│ 应用程序
│ │──── index.php
│
我正在尝试找到组织我的 Laravel 应用程序与共享托管目录相同的方法。
“服务器”文件夹中的示例
1.Install新鲜laravel申请
composer create-project laravel/laravel main-app --prefer-dist
2.Move "Public" 主应用程序上方和旁边的目录 folder.Rename 到 public_html
3.Inside public_html 文件夹也创建新的 "app" 文件夹来保存里面的所有文件 index.php
总结
服务器
│<br>
└────主应用
│ │ 应用
│ │ bootstrap
│ │ ……
│
└────public_html
│ 应用程序
│ │──── index.php
│
这就是我需要的 do.But 我做不到! 每次我尝试 运行 artisan 我得到
chdir() no such file or directory (errno 2)
使用 Laravel 4 我能够编辑 path.php 那就是 it.But L5 看起来像是倒退了一步!
我已经尝试扩展 Application.php class 但不幸的是没有成功!
这是解决方案!
1.Create MyApp.php class inside app folder to extend Applicaton.php class
<?php
namespace App;
class MyApp extends \Illuminate\Foundation\Application
{
public function publicPath()
{
return $this->basePath.DIRECTORY_SEPARATOR.'/../public_html/app';
}
}
2.Inside bootsrap/app 使用自己的 class
一定要把旧的注释掉! , 你不需要了
// $app = new Illuminate\Foundation\Application(
// realpath(__DIR__.'/../')
// );
$app = new App\MyApp(
realpath(__DIR__.'/../')
);
3.Make 在 server.php 内更改为目标 index.php
if ($uri !== '/' && file_exists(__DIR__.'/../public_html/app'.$uri)) {
return false;
}
require_once __DIR__.'/../public_html/app/index.php';
4.Make里面的变化index.php
require __DIR__.'/../../main-app/bootstrap/autoload.php';
和
$app = require_once __DIR__.'/../../main-app/bootstrap/app.php';
完成
现在 artisan 工作并且 Index.php 与共享主机一样生活!
服务器
│<br>
└────main-app
│ │ 应用
│ │ bootstrap
│ │ ……
│
└────public_html
│ 应用程序
│ │──── index.php
│