PHP简单的strip_tags和截断字符串错误:连接重置


PHP simple strip_tags and truncate string error: connection reset

我有以下代码,从管理区域保存创建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

希望这对你有帮助,祝你有美好的一天