新浪云sae部署php,如何在新浪云 SAE 上安装部署 Laravel 5.1 应用并测试数据库连接...

如何在新浪云 SAE 上安装部署 Laravel 5.1 应用并测试数据库连接

由 学院君 创建于5年前, 最后更新于 7个月前

版本号 #2

11830 views

7 likes

0 collects

1、创建SAE应用

85c4366929fa04aef31f944343205d7a.png

点击“创建新应用”,在创建应用页面填写表单,开发语言选择PHP 5.6,选中“空应用”,然后点击“创建应用”:

684b2c43b256a9dd725cc62411910d70.png

这样在管理应用列表新增了一个“Laravel SAE”应用:

e45069fc2c7684647c940e2e088d79c3.png

接下来我们点击“Laravel SAE”进入管理应用界面,选择左侧“代码管理”链接上传应用代码:

13fcd56e9a2ee1cef17ff44d507ad789.png

我们选择使用Git管理代码,点击“Git”按钮,页面跳转到Git安装指南页面:

f0aecbc2843920f7cfdb8711471cb698.png

通过该页面我们得知代码仓库是 https://git.sinacloud.com/laravelsae/,接下来我们就可以按照部署说明上传代码到SAE。

2、上传Laravel项目代码到SAE

这里我们选择Github上一个现成的项目laravel5-on-sae,该项目针对SAE对Laravel 5.1代码做了特定修改,我们下载其项目包并解压到本地。进入解压后的laravel5-on-sae目录,删除隐藏的文件夹.git,新建一个config.yaml,编辑其内容如下:

handle:

- rewrite: if (path ~ "^/$") goto "public/index.php"

- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "public/index.php/$1"

编辑.gitignore文件,移除第一行/vendor(否则使用Git命令忽略该目录,导致找不到/vendor/autoload.php而报错)。

编辑config/app.php,移除providers数组中的如下这行:

App\Providers\ViewComponentServiceProvider::class,

编辑app/Providers/EventServiceProvider.php内容如下:

namespace App\Providers;

use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;

use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;

class EventServiceProvider extends ServiceProvider

{

/**

* The event listener mappings for the application.

*

* @var array

*/

protected $listen = [

];

/**

* Register any other events for your application.

*

* @param \Illuminate\Contracts\Events\Dispatcher $events

* @return void

*/

public function boot(DispatcherContract $events)

{

parent::boot($events);

}

}

然后在laravel5-on-sae目录下执行如下命令:

git init

git remote add sae https://git.sinacloud.com/laravelsae/

git add .

git commit -am 'laravelsae'

git push sae master:1

最后一条命令需要输入的用户名和密码为安全邮箱和安全密码,而不是微博账号和密码。如已启用微盾动态密码,则密码应该是“安全密码”+“微盾动态密码”。

这样我们就可以成功提交代码到Laravel SAE应用。

在开始之前还需要在SAE中初始化Memcache,并且在Storage中新建一个域名为laravel的domain。

接下来我们在浏览器中访问http://laravelsae.sinaapp.com/laravel,页面显示如下:

eebdcc334b5d43da0d999f88794f2c05.png

说明代码部署成功!

3、测试数据库连接

要在SAE上连接数据库,首先我们需要点击左侧MySQL初始化数据库:

fc551791cd20960923fd86d328217bc5.png

选择“共享型MySQL”:

6e80510a90c22f9c88c19f961a0d0896.png

InnoDB目前只对企业开发,所以我们选择MyISAM引擎,然后点击初始化数据库。初始化成功后页面跳转到MySQL管理页面:

5ff30da626926053e1a674b749eead23.png

SAE中MySQL主机、端口、用户名及密码都用常量表示,我们在代码中也要使用这些常量对数据库进行设置,当然laravel5-on-sae这个项目已经为我们做好了设置,甚至配置了读写分离:

9848980100568acc6bfd80edc5a4e845.png

这里我去将prefix配置设置为'',即不使用任何数据表前缀。

接下来我们对数据库进行测试,还是在MySQL管理页面我们点击“管理MySQL”,页面会跳转到MySQL数据库管理页面,实际上是一个phpMyAdmin页面:

6dd3a2d57c5278b2001a63171c60bce2.png

在phpMyAdmin中我们创建一个数据表posts并插入两条记录:

a8c3a99d918e8015217f78a6060044c4.png

接下来我们在项目代码中routes.php新增一条路由:

Route::get('database/test','DbController@test');

然后创建控制器DbController,编辑其内容如下:

namespace App\Http\Controllers;

use DB;

class DbController extends Controller{

public function test(){

$posts = DB::table('posts')->get();

dd($posts);

}

}

然后提交该代码到SAE项目:

git add .

git commit -m 'test'

git push sae master:1

在浏览器中访问http://laravelsae.sinaapp.com/database/test,页面显示如下:

1af03cc0a86a838386276aed84de8907.png

今天就写到这,不过不得不提一句,laravel5-on-sae这个项目有待完善,里面有不少测试代码,表示被坑到了,不过还是要感谢其作者为我们提供了这个项目:http://www.xtwind.com/laravel-5-1-on-sae.html。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值