我的CodeIgniter应用程序使用会话库并将数据保存到数据库.
我遇到了一些问题,在某个ajax调用之后会创建空白会话.
经过调查,似乎有2个同时发生的函数调用需要进行会话验证.一个人会失败而另一个会没事的.
我能够通过不让它们同时发射来解决这个问题.但我仍然不明白原因为什么它会失败.是否与一次更新用户cookie和第二次呼叫失效有关?或者也许在阅读数据库时它会以某种方式死掉?
我稍微查看了Session核心类,但没有发现任何线索.
如果有任何人遇到同样的问题,我会感激任何关于如何调试或原因是什么的建议.
谢谢!
编辑:
我原本说有408状态回归.这是一个无关的案例.
这是并行触发MyVar.refresh()的函数:
function (event)
{
var self$ = this.a$;
var uid = this.b$.val();
var tid = this.c$.val();
var jqxhr = $.post('/controller1/index',{'uid':uid,'tid':tid,'action':true},function(re)
{
if(re.message != 'success')
{
MyVar.alert('<span class="msg_error sprite"></span>' + re.error);
MyVar.refresh();
}
},'json');
MyVar.refresh();
return stopDefault(event);
};
Run Code Online (Sandbox Code Playgroud)
可能的解决方案:
发现这个:http://codeigniter.com/forums/viewthread/102456/
显然它与ajax不能很好地配合.一种解决方案是,如果是ajax调用,则禁止会话更新; 唯一的问题是我们的网站大多是用ajax构建的..
另外,只是将sess_time_to_update降低到非常频繁的状态,并且ajax做得很好.还做了浏览器刷新,它没有超时.不确定为什么会话ID在ajax调用时已经更改,并且浏览器cookie从未更新过.
我在Chrome中试过这个.在内部有大量文本的textarea,最后编辑部分变得非常慢.光标和键盘输入响应进行爬行.
但是,如果我这样做,以便CSS链接从<head>之后移动到</body>它后不再变慢.有什么想法存在这种现象?
使用的代码:
<!DOCTYPE html>
<html>
<head>
<style>textarea {width: 400px; height: 400px;}</style>
<link href="1.css" rel="stylesheet" type="text/css">
</head>
<body>
<textarea name="content"></textarea>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这个html实际上是由后端脚本生成的,它将用几千行文本填充textarea的内容.当用户向下滚动到内容的末尾时,这就是缓慢开始的地方.如果头部区域的css被移除,它将很快.
目前正在为我的网络应用程序使用LAMP堆栈.我的dev和prod在同一个云实例中.现在我得到一个新实例,并希望将dev/test环境移动到新实例,将其与prod环境分开.
它曾经是一个简单的Phing脚本,可以将SVN导出到prod目录(由我的vhost.conf指向).如何在环境分离的情况下建立良好的构建过程?
考虑将SVN存储库转移到开发服务器,然后执行ssh + svn推送(这可能是Phing吗?)
这种设置的最佳/常见做法是什么?
更多信息:
我目前正在使用CodeIgniter用于MVC框架,Phing用于本地主机部署的自动构建.一些用Java编写的CRON脚本也支持Web应用程序.
更新:
结束使用Phing + Jenkins.到目前为止运作良好!
我们通常在新分支上进行功能开发,然后在主分支上进行错误修正.这一次,由于某种原因,其中一个功能分支有一个泄漏,当它不应该被合并回主服务器时.
从截图中,您可以看到我们有功能分支sms_open和121217. 121217应该在我们的sprint之后合并到master中,然后sms_open分支有更长的时间估计,因此需要在将来的版本中推回.我无法弄清楚为什么sms_open commit 609129d被重新合并.我看到不需要的合并发生在75e845b,但是这样做的开发人员否认sms_open正被合并回来.有没有办法以任何方式验证这一点?
仅供参考,这里使用的git工具是适用于Mac OS的SourceTree.

git version-control git-merge branching-and-merging git-branch
我目前正在使用Phing和Jenkins来自动化我的CodeIgniter应用程序的构建和部署.我遇到的一个问题是重启apache服务.我试过Phing但是没有足够的权限.重启的最佳方法是什么?
编辑:
将jenkins添加到sudoer文件并执行服务httpd restart后,Jenkins抛出:处理泄露的文件描述符.下面是Jenkins的Phing输出片段.它说一个解决方法是安装daemonize.不确定那是什么意思...
...Build_test > compress:
[echo] YUI Compression started
[echo] Replacing normal JS with compressed files.
[echo] Replacing normal CSS with compressed files.
[echo] chmoding assets
[echo] YUI Compression ended
Build_test > pdepend:
Build_test > httpd_restart:
[echo] Stopping httpd: [ OK ]
[echo] Starting httpd: [ OK ]
BUILD FINISHED
Total time: 13.1424 seconds
Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JENKINS/Spawning+processes+from+build for more information
[JDepend] JDepend plugin is ready
[JDepend] Found 68 classes in 1 packages
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的网站,主要是图像和登录表单以及注册链接.除了显示使用条款和版权声明链接的页脚之外,正文中不存在实际文本.
我的网站目前正在显示搜索引擎结果,其中显示的是页脚内容,而不是我在<meta name="description"...>标记中添加的内容.为什么是这样?
我怎么能不允许搜索引擎使用页脚内容显示索引我的网站?或者至少首先显示元描述?我是否需要在某处以title属性或alt属性的形式放置一些文本?