使用xhprof测试slim框架的性能时,发现php抛了Segment Fault错误,试着使用gdb查看是什么导致的。

生成coredump文件

要生成php的coredump文件需要对系统进行一些配置,具体查看:Generating core-dump for php5-fpm

使用gdb调试coredump文件

执行gdb命令,因为coredump是php-fpm进程生成的,还需要指定php-fpm的路径,要不查看不了具体的代码执行信息。

$ gdb /usr/local/php5/sbin/php-fpm -c /tmp/core-php-fpm.1567 
More

近排开发的一个后台系统(域名:admin.test.test.com)在接入公司统一SSO时,遇到了cookie冲突引起的登录循环重定向的bug。

公司有一个统一的SSO登录页面,我们开发的系统是跳转到该页面实现登录验证的。有用户反映登录不了,浏览器提示循环重定向了,查看用户浏览器发现有两个相同名称的session cookie:

PHPSESSID=token1; path=/; expired=/; domain=.test.com  
PHPSESSID=token2; path=/; expired=/; domain=.test.test.com

显然这两个cookie的domain因为都是admin.test.test.com的根域名,使浏览器都发送到php后台系统了。第一个是后台系统(admin.test.test.com)写入的,是正确的session id,而第二个是由未知系统写入的。测试打印**$_COOKIE[‘PHPSESSID’]**发现输出是:

token2

很明显php读取到了错误的session id,所以导致系统读取不到保存在session中的登录信息,而误判用户为未登录,之后再把用户跳转回SSO登录页面,跳转回SSO系统后,SSO系统知道用户已登录过,再跳转回系统。。。这样就一直循环下去了=。=

More

在广州工作的大龄程序员。。。毕业后一直从事程序开发工作,接触的技术比较多,如.NET/PHP/JAVA/Javascript等等,现在喜欢 Go 语言。

.Net Westwind.ApplicationConfiguration Strongly typed, code-first configuration classes for .NET applications pythonnet Python for .NET is a package that gives Python programmers nearly seamless integration with the .NET Common Language Runtime (CLR) and provides a powerful application scripting tool for .NET developers. http://pythonnet.github.io dapper-dot-net a simple object mapper for .Net.small ORM. NLog Advanced .NET and Silverlight Logging DynamicCsToPowerShell provides a cleaner syntax when executing PowerShell code from C#. More

Page 1 / 1
Top