如何调试抛出此错误的应用程序:
(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) 我有简单的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) 我想在一个新项目上安装一个特定版本的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)
不起作用:它安装最新的.
我的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
我创建了一个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
laravel ×3
node.js ×2
eventemitter ×1
lumen ×1
memory-leaks ×1
migration ×1
mysql ×1
nginx ×1
vue.js ×1
whoops ×1