在 Laravel 5.5+ 应用中配置使用阿里云提供的短信服务及文件存储服务(OSS) | Laravel 学院


本站和网页 https://xueyuanjun.com/post/9502.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

在 Laravel 5.5+ 应用中配置使用阿里云提供的短信服务及文件存储服务(OSS) | Laravel 学院
Laravel 学院
文档
Laravel 8.x 中文文档
Laravel 7.x 中文文档
Laravel 6.x 中文文档
Laravel 5.8 中文文档
Laravel 5.7 中文文档
Laravel 5.6 中文文档
Laravel 5.5 中文文档
Laravel 5.4 中文文档
Laravel 5.3 中文文档
Laravel 5.2 中文文档
Laravel 5.1 中文文档
Lumen 中文文档
全栈教程
PHP 全栈工程师指南
PHP 入门到实战
Laravel 入门到精通
Vue.js 入门到实战
玩转 PhpStorm 教程
Laravel 博客入门项目
Laravel 微信小程序项目
Laravel 前后端分离项目
Swoole 入门到实战
Eloquent 性能优化实战
Redis 高性能实战系列
Laravel 新版本特性
PHP 新特性与最佳实践
Golang
Go 入门教程
Go Web 编程
Gin 使用教程
微服务开发
内功修炼
数据结构与算法
网络协议
微服务从入门到实践
高性能 MySQL 实战
高性能 Redis 实战
Laravel 消息队列实战
Laravel 从学徒到工匠
PHP 设计模式系列
名企面试指南
资源库
Laravel 资源大全
Laravel 开源项目
Laravel 扩展包
Laravel 资源下载
更多
博客 & 新闻
问答 & 讨论
Leetcode 题解
学院君读书笔记系列
关于 Laravel 学院
Laravel 互助学习群
Golang 互助学习群
更多
Laravel 中文文档
Laravel 全栈教程
Laravel 学习路径
Go 入门教程
程序员内功修炼
博客
问答
搜索
注册
登录
图书
博客
在 Laravel 5.5+ 应用中配置使用阿里云提供的短信服务及文件存储服务(OSS)
在 Laravel 5.5+ 应用中配置使用阿里云提供的短信服务及文件存储服务(OSS)
由 小志 创建于4年前, 最后更新于 4年前
版本号 #1
13011 views
44 likes
0 collects
配置短信服务
基于Laravel框架的使用方法
安装
composer require mrgoon/aliyun-sms dev-master
在config/app.php中添加如下代码
'providers' => [
//......此处省略大量代码
/**
* 阿里云短信
*/
Mrgoon\AliSms\ServiceProvider::class,
],
//同时,可以选择性添加aliases
'aliases' => [
//......此处省略大量代码
/**
* 阿里云短信
*/
'AliSms'=>Mrgoon\AliSms\ServiceProvider::class,
],
添加系统服务
php artisan vendor:publish
#这里要选择对应的编号
上一步会新增config/aliyunsms.php 文件
'access_key' => env('ALIYUN_ACCESSKEYID'), // accessKey
'access_secret' => env('ALIYUN_ACCESSKEYSECRET'), // accessSecret
'sign_name' => env('ALIYUN_SMS_SIGN_NAME'), // 签名
在.env文件中添加环境变量:
ALIYUN_ACCESSKEYID=your access key
ALIYUN_ACCESSKEYSECRET=your secret key
ALIYUN_SMS_SIGN_NAME=sign name
使用
$aliSms = new AliSms();
$response = $aliSms->sendSms('phone number', 'SMS_code', ['name'=> 'value in your template']);
//dump($response);
非laravel框架的使用方法
加载方式通过composer,不变
使用样例代码如下:
$config = [
'access_key' => 'your access key',
'access_secret' => 'your access secret',
'sign_name' => 'your sign name',
];
$aliSms = new Mrgoon\AliSms\AliSms();
$response = $sms->sendSms(
'phone number',
'tempplate code',
['name'=> 'value in your template'],
$config
);
配置图片上传OSS
安装
composer require jacobcyl/ali-oss-storage
在config/app.php中添加如下代码
'providers' => [
//......此处省略大量代码
/**
* 阿里云OSS
*/
Jacobcyl\AliOSS\AliOssServiceProvider::class,
],
//同时,可以选择性添加aliases
'aliases' => [
//......此处省略大量代码
/**
* 阿里云OSS
*/
'AliOSS'=>Jacobcyl\AliOSS\AliOssServiceProvider::class,
],
编辑配置文件config/filesystems.php
'default' => env('FILESYSTEM_DRIVER', 'local'),
.....
'disks' => [
....
'oss' => [
'driver' => 'oss',
'access_id' => env('ALIYUN_ACCESSKEYID'),
'access_key' => env('ALIYUN_ACCESSKEYSECRET'),
'bucket' => env('ALIYUN_BUCKET'),
'endpoint' => env('ALIYUN_ENDPOINT'),
//'endpoint_internal' => '<internal endpoint [OSS内网节点] 如:oss-cn-shenzhen-internal.aliyuncs.com>',
//'cdnDomain' => '<CDN domain, cdn域名>',
'ssl' => false,
'isCName' => false,
'debug' => false,
],
],
在.env文件中添加环境变量:
ALIYUN_ACCESSKEYID=your access key
ALIYUN_ACCESSKEYSECRET=your secret key
ALIYUN_BUCKET=your bucket
ALIYUN_ENDPOINT=your endpoint
配置ueditor + OSS
安装
composer require ilimpid/laravel-u-editor
在config/app.php中添加如下代码
'providers' => [
//......此处省略大量代码
/**
* 百度编辑器
*/
Stevenyangecho\UEditor\UEditorServiceProvider::class,
],
//同时,添加aliases
'aliases' => [
//......此处省略大量代码
/**
* 百度编辑器
*/
'UEditor'=>Stevenyangecho\UEditor\UEditorServiceProvider::class,
],
添加系统服务
php artisan vendor:publish
上一步会新增config/UEditorUpload.php 文件
'mode' => 'aliyun',//上传方式,local 为本地 qiniu 为七牛 aliyun为阿里云
'aliyun' => [
'accessKeyId' => env('ALIYUN_ACCESSKEYID'),
'accessKeySecret' => env('ALIYUN_ACCESSKEYSECRET'),
'endpoint' => env('ALIYUN_ENDPOINT'),
'url' => 'http://'.env('ALIYUN_BUCKET').'.'.env('ALIYUN_ENDPOINT'),
'bucket' => env('ALIYUN_BUCKET'),
'directory' => 'images/'.date('Ymd',time()),
],
//注意:编辑器上传图片的时候会在本地保存一张,下面配置必须设置,images必须保持一致
/* 上传图片配置项 */
'upload' => [
/* 上传保存路径,可以自定义保存路径和文件名格式 */
"imagePathFormat" => "/storage/images/{yyyy}{mm}{dd}/{time}{rand:6}",
],
在.env文件中添加环境变量:
ALIYUN_ACCESSKEYID=your access key
ALIYUN_ACCESSKEYSECRET=your secret key
ALIYUN_BUCKET=your Bucket key
ALIYUN_ENDPOINT=your Endpoint key
非laravel-admin使用
@include(UEditor::head)
<div class="col-sm-10">
<script id="ueditor"></script>
<script>
var ue = UE.getEditor("ueditor");
ue.ready(function () {
//由于Laravel有防csrf防伪造攻击的解决所以加上此行
ue.execCommand(serverparam, _token, {{ csrf_token() }});
});
</script>
</div>
基于 laravel-admin 使用
增加组件文件app/Admin/Extensions/Form/uEditor.php
<?php
namespace App\Admin\Extensions\Form;
use Encore\Admin\Form\Field;
class uEditor extends Field
// 定义视图
protected $view = 'admin.uEditor';
// css资源
protected static $css = [];
// js资源
protected static $js = [
'laravel-u-editor/ueditor.config.js',
'laravel-u-editor/ueditor.all.min.js',
'laravel-u-editor/lang/zh-cn/zh-cn.js'
];
public function render()
$this->script = <<<EOT
//解决第二次进入加载不出来的问题
UE.delEditor("ueditor");
// 默认id是ueditor
var ue = UE.getEditor('ueditor', {
// 自定义工具栏
toolbars: [
['bold', 'italic', 'underline', 'strikethrough', 'blockquote', 'insertunorderedlist', 'insertorderedlist', 'justifyleft', 'justifycenter', 'justifyright', 'link', 'insertimage', 'source', 'fullscreen']
],
elementPathEnabled: false,
enableContextMenu: false,
autoClearEmptyNode: true,
wordCount: false,
imagePopup: false,
autotypeset: {indent: true, imageBlockLine: 'center'}
});
ue.ready(function () {
ue.execCommand('serverparam', '_token', '{{ csrf_token() }}');
});
EOT;
return parent::render();
增加视图文件resources/views/admin/uEditor.blade.php
<div class="form-group {!! !$errors->has($errorKey) ?: 'has-error' !!}">
<label for="{{$id}}" class="col-sm-2 control-label">{{$label}}</label>
<div class="col-sm-8">
@include('admin::form.error')
{{-- 这个style可以限制他的高度,不会随着内容变长 --}}
<textarea type='text/plain' style="height:400px;" id='ueditor' id="{{$id}}" name="{{$name}}" placeholder="{{ $placeholder }}" {!! $attributes !!} class='ueditor'>
{!! old($column, $value) !!}
</textarea>
@include('admin::form.help-block')
</div>
</div>
{{-- 注意:如果你实用script标签有一些奇怪的问题,更换textarea就可以解决了。 --}}
然后注册进laravel-admin,在app/Admin/bootstrap.php中添加以下代码:
<?php
/**
*/
use App\Admin\Extensions\Form\uEditor;
use Encore\Admin\Form;
Form::extend('ueditor', uEditor::class);
//Encore\Admin\Form::forget(['map', 'editor']);
再控制器的form()里面调用
$form->ueditor('content', '内容')->rules('required');
Laravel
PHP
阿里云
短信
oss
UEditor
laravel-admin
云服务
文件上传
对象存储
SMS
扩展包
点赞
取消点赞
收藏
取消收藏
赞赏
分享到以下平台:
<< 上一篇:
【深圳福田】招聘PHP工程师,有Laravel基础,发展快,8-15k
>> 下一篇:
用 PHP 开发以太坊的教程
9 条评论
#1
无情无意的胖子
评论于 4年前
正在删除评论...
这个网站没有收藏功能吗?
#2
学院君
评论于 4年前
回复 #1
正在删除评论...
点击「这篇文章对我很有帮助」就等同于收藏功能
#3
大漠胡杨
评论于 4年前
正在删除评论...
学习啦
#4
khfzx
评论于 4年前
正在删除评论...
为什么我会出现这个问题?
Missing argument 1 for Illuminate\Support\ServiceProvider::__construct(), called in
#5
小志
评论于 4年前
回复 #4
正在删除评论...
不明白你的问题,请描述清楚一些
#6
wxzxc
评论于 3年前
正在删除评论...
use Mrgoon\AliSms;
是要这样引用一下吗,报错说没找到这个类
#7
wxzxc
评论于 3年前
回复 #2
正在删除评论...
求帮解决
#8
wxzxc
评论于 3年前
回复 #6
正在删除评论...
$aliSms = new \Mrgoon\AliSms\AliSms();
我是laravel5.6,通过上述代码引用成功,但不能明白原理
#9
Levy
评论于 3年前
正在删除评论...
我的短信服务报:MissingAccessKeyId AccessKeyId is mandatory for this action. HTTP Status: 400 RequestID: 40A084FA-EA60-4828-9C97-1CDA6F6E2BBE 这个错误。
登录后即可添加评论
升级为学院君订阅用户(新年优惠🎁)
内容导航
配置短信服务
基于Laravel框架的使用方法
非laravel框架的使用方法
配置图片上传OSS
配置ueditor + OSS
非laravel-admin使用
基于 laravel-admin 使用
最新发布
支付 API 开发
测试驱动 Laravel API 开发
编码实战篇
员工 API 开发(下)
测试驱动 Laravel API 开发
编码实战篇
员工 API 开发(上)
测试驱动 Laravel API 开发
编码实战篇
部门 API 开发
测试驱动 Laravel API 开发
编码实战篇
项目初始化
测试驱动 Laravel API 开发
编码实战篇
相关推荐
Laravel中间件(Middleware)的核心解读,可深入学习
博客
[深圳] [20K-30K] 明源云创招聘高级 PHP开发工程师 [B 端龙头][业务中台]
博客
优雅的 Oss Flysystem 扩展
Laravel 优质扩展包
文件存储
被神化的laravel 之优雅
博客
laravel写B2B电子商务行业门户前端网站系统
博客
回到顶部
2022 基于 Laravel 6 构建
关于学院
订阅服务
友情链接
站点地图
本站 CDN 加速服务由又拍云赞助