我有以下代码,从管理区域保存创建HTML内容体的副本。问题是,如果我设置的max_length超过160,我得到连接重置错误。
我的代码有问题吗?或者这对于apache/php来说太简单了吗?
content_body可以是TinyMCE输入的一大块HTML文本。
if($oRequest->get("contents.content_body")){
$max_length = 255;
$long_text = strip_tags(trim($oRequest->get("contents.content_body")));
if(strlen($long_text) > $max_length){
$short_text = (substr($long_text,0,$max_length));
} else {
$short_text = $long_text;
}
try {
$db = Db_Connections::getInstance()->getConnection();
$sql = "UPDATE `contents` SET `content_body_short` = '".mysql_real_escape_string($short_text)."' WHERE content_id = ".(int)$contentID;
$db->query($sql);
} catch (Exception $e) {
throw $e;
}
}
编辑:我已经尝试添加timeout(0),但这没有什么不同。
错误日志不确定是否有帮助
[Tue Sep 13 11:10:25 2011] [notice] Parent: child process exited with status 255 -- Restarting.
[Tue Sep 13 11:10:26 2011] [notice] Apache/2.2.17 (Win32) PHP/5.3.4 configured -- resuming normal operations
[Tue Sep 13 11:10:26 2011] [notice] Server built: Oct 24 2010 13:33:15
[Tue Sep 13 11:10:26 2011] [notice] Parent: Created child process 2964
[Tue Sep 13 11:10:26 2011] [notice] Child 2964: Child process is running
[Tue Sep 13 11:10:26 2011] [notice] Child 2964: Acquired the start mutex.
[Tue Sep 13 11:10:26 2011] [notice] Child 2964: Starting 64 worker threads.
[Tue Sep 13 11:10:26 2011] [notice] Child 2964: Starting thread to listen on port 80.
编辑:我发现这只发生在我的本地开发环境,并在我的Debain挤压服务器上完美地工作
本地设置:- 里面2.1 Apache 2.2.17 PHP 5.3.4 MYSQL 5.1.53 pdo_mysql: mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
- pdo_sqlite: SQLite Library 3.7.3
是你的apache,连接关闭错误,有时当apache子程序崩溃,这可能有很多原因。
- PHP 5.3.4在线程上下文中有一些变化,这可能会使它不稳定
- 使用php的线程工作器,php总是有一些线程环境的问题
我已经注意到你正在使用win32,所以可以尝试:
- 使用更稳定的apache/php包(wamp和其他东西)
- 更改为apache无线程mpm
希望这对你有帮助,祝你有美好的一天