laravel 缓存配置之后出现 __set_state 错误的解决办法

当使用 php artisan config:cache 后,出现:

Call to undefined method Closure::__set_state()

经过排查,是配置文件(config 目录下)中使用了闭包(函数),我的例子是使用 laravel-sms 时,遇到以下代码:

/*
    |--------------------------------------------------------------------------
    | 验证码短信通用内容
    |--------------------------------------------------------------------------
    |
    | 如需缓存配置,则需使用 `Toplan\Sms\SmsManger::closure($closure)` 方法进行配置
    |
    */
'content' => function ($code, $minutes, $input) {
    return '【signature】您的验证码是' . $code . ',有效期为' . $minutes . '分钟,请尽快验证。';
},

为了解决该问题,按照配置中的提示,修改为以下代码即可:

'content' => Toplan\Sms\SmsManager::closure(function ($code, $minutes, $input) {
    return '【signature】您的验证码是' . $code . ',有效期为' . $minutes . '分钟,请尽快验证。';
}),

注意: 提示中的单词 Manager 拼错了,少写了一个 a

余下配置中还有其他的闭包函数,使用相同的方法修改。

laravel-mix 依赖问题的解决办法

laravel-mix 使用 extract 分离组件后出现 Bootstrap’s JavaScript requires jQuery,解决办法是:在 webpack.mix.jsextract() 后添加:

.autoload({
        jquery: ['$', 'jQuery', 'jquery'],
    })

Laravel 模型触发 deleting/deleted 事件的方法

// 这样是不行的
User::where('id', 1)->delete();
// 这样是可行的,不推荐
$user = User::find(1);
$user->delete();
// 这也也可以,推荐:
User::where('id', 1)->get()->each->delete();
// 或者
User::destroy(1);
User::destroy([1, 2]);

Laravel Request 类里 get() 和 input() 的区别

同样一个post请求,以 form-data 的形式传送一个数据 title 的时候,get('title')input('title') 都可以取到。

但是以 json 的形式传送的时候,get('title') 得到的是 null,而 input('title') 却可以正确的取到值。

对于 GET 请求,get()input() 方法都可以取到相同的值。

get()input() 的方法的实现类其实并不一样。

get() 在:

Symfony\Component\HttpFoundation

input() 在:

Illuminate\Http

官方推荐使用 input

升级bose soundlink mini II的固件

如果提示连接不上,可能需要重置 Soundlink Mini II 一次。按电源按钮将其打开,然后按住电源按钮10秒钟。扬声器将在重置后关闭。

删除先前安装的Bose Updater,然后重新下载。单击此处查看更新程序。

  1. 如果尚未将扬声器与计算机断开,请将其断开。
  2. 重新安装更新程序后,打开文件并将扬声器连接回计算机。
  3. 单击“应用更改”以下载最新更新。

您应该在软件本身中看到更新的进度。完成后,您可以断开扬声器。

修复每次打开office都要运行配置的问题

更改注册表:

  • 点击“开始”,点击“运行”,输入“regedit”回车确定(或者WIN + R 快捷组合键也可以打开运行,然后输入 regedit 进入注册表编辑器)
  • 找到 HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options,右边有一个 NoRereg 的属性。如果没有这个属性,请自己用鼠标右键新建一个,值为DWORD(32位),十六进制,数值数据为1。完成后退出。

apache .htaccess 301重定向规则

单文件的重定向

适用于网站结构调整,而又完成URL权重的传递。

同域名下将example.com/oldfile.htm重定向至 example.net/newfile.htm

Redirect 301 /oldfile.htm /newfile.htm

将文件重定向至不同域名下,如 example.com/oldfile.htm 重定向至 example.net/newfile.htm

继续阅读