如何在新浪云sae的web应用中配置数据库mysql

如何在新浪云sae的web应用中配置数据库mysql,第1张

进入云应用的共享性mysql数据选项后,下方会出现如何连接mysql数据库

点击后会进入Mysql的API使用手册,这里介绍了关于数据库的一些预定义常量和一个使用其连接mysql的例子。然而,这并不是最方便的一个方法。

在新浪云的Classes(我也不知道怎么叫,简称classes)开发文档中,有一个SaeMysql类。如图,只需实例化SaeMysql类对象,不到20个字符即可完成数据库连接。同时下方有同样便利的函数来对数据库进行各项常用 *** 作。

下面我们使用Sublime Text来连接一次。

写好代码上传到sae云后,打开网页。可以看到的确以多维数组的方式显示了数据库内的数据。

1、在新浪云控制台左侧数据库服务子项下进入共享型MySQL

2、然后出现页面

3、点击初始化MySQL按钮出现页面

4、点击第一个方框(通过第二个方框中的链接即可本文开头介绍的实现让多个应用共享同一个数据库实例)中的管理MySQL链接,即可进入创建表table页面

第一个方框和第二方框中的内容构成数据库连接代码中的主机名和数据库名

[java] view plain copy

connection= (Connection) DriverManager.getConnection("jdbc:mysql://w.rdc.sae.sina.com.cn:3307/app_geekzhou","username","password")

上面代码中的username和password分别用该应用的Access Key和Secret Key替换。

5、填写table名称,这里以表名test,字段数4为例,进入下一步

6、填写完毕后,一定要单击“保存”按钮而不是“执行”按钮,执行按钮是为了再添加若干个字段的。

7、保存后进入如下页面

到此为止数据库和表已经创建完毕。

1、创建SAE应用

首先进入新浪云SAE界面 http://sae.sina.com.cn/ :

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

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

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

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

通过该页面我们得知代码仓库是 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 内容如下:

<?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 ,页面显示如下:

说明代码部署成功!

3、测试数据库连接

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

选择“共享型MySQL”:

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

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

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

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

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

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

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

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

<?php

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8669751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存