小编Ifn*_*not的帖子

526
推荐指数
14
解决办法
47万
查看次数

NodeJS:如何调试"检测到EventEmitter内存泄漏.11个监听器添加"

如何调试抛出此错误的应用程序:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.EventEmitter.addListener (events.js:160:15)
    at Socket.Readable.on (_stream_readable.js:653:33)
    at Socket.EventEmitter.once (events.js:179:8)
    at TCP.onread (net.js:527:26)
Run Code Online (Sandbox Code Playgroud)

我无法找到假定的泄漏对象来增加侦听器限制 .setMaxListeners(0);

解决方案(来自fardjad和jan salawa)

随着jan salawa的搜索,我找到了一个工作库(longjohn)来增加堆栈跟踪的详细信息.随着fardjad的回应我发现我们必须原型EventEmitter.addListener EventEmitter.on.

通过该解决方案,我可以得到这个新的痕迹:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at EventEmitter.addListener.EventEmitter.on (xxx/main.js:44:15)
    at Readable.on (_stream_readable.js:653:33)
    at ServerResponse.assignSocket (http.js:1072:10)
    at parser.onIncoming (http.js:1979:11)
    at parserOnHeadersComplete (http.js:119:23)
    at socket.ondata (http.js:1912:22)
    at TCP.onread (net.js:510:27)
Run Code Online (Sandbox Code Playgroud)

memory-leaks node.js eventemitter

54
推荐指数
6
解决办法
7万
查看次数

Laravel迁移主要(或密钥)"标识符名称太长"

我有简单的Laravel迁移文件,用于指定复合主键:

// ...

public function up()
{
    Schema::create('my_super_long_table_name', function($table)
    {
        $table->integer('column_1');
        $table->integer('column_2');
        $table->integer('column_3');

        $table->primary(['column_1', 'column_2', 'column_3']);
    });
}

// ...
Run Code Online (Sandbox Code Playgroud)

并且在运行时php artisan migrate抛出此错误:

SQLSTATE[42000]: Syntax error or access violation: 1059 Identifier name 'my_super_long_table_name_column_1_column_2_column_3' is too long
Run Code Online (Sandbox Code Playgroud)

mysql migration laravel

22
推荐指数
1
解决办法
1万
查看次数

如何在新安装中指定Lumen(或Laravel)版本?

我想在一个新项目上安装一个特定版本的Laravel Lumen(5.1而不是最新的一个5.2).

从文档:

lumen new blog
Run Code Online (Sandbox Code Playgroud)

要么 :

composer create-project laravel/lumen --prefer-dist
Run Code Online (Sandbox Code Playgroud)

不起作用:它安装最新的.

laravel lumen

13
推荐指数
1
解决办法
7387
查看次数

Homestead 502 Bad Gateway而不是Whoops for PHP错误

我的Homestead Vagrant虚拟机正在返回一个502 Bad Gateway错误而不是Laravel Whoops错误(如找不到类,某种解析错误等等).

有人为所有PHP错误提供了解决问题的解决方案吗?

我可以/var/log/nginx/<my_vhost>.app-error.log像这样手动获取错误:

2014/11/27 15:15:44 [error] 1300#0: *12 FastCGI sent in stderr: "PHP message: PHP Fatal error: <ERROR HERE> on line <LINE>

但调试非常烦人......

宅基地版本:0.2.0.Laravel版本:4.2

nginx laravel whoops

5
推荐指数
1
解决办法
6434
查看次数

VueJS:手动触发对观察到的对象/数组的更新

我创建了一个vue对象来进行数据反应:

let vm = new Vue({
  data () {
    return {
      myData: {}
    }
  },
  watch: {
    myData (value) {
      console.log('changed')
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

当我将/推入/编辑/删除到时vm.myData,一切正常,监视者将其发送给我changed

现在,我只想通过“触摸”(没有数据版本)来获取changed事件。我可以为此调用观察者的内部方法吗? vm.myData

observer-pattern vue.js

3
推荐指数
2
解决办法
4189
查看次数