Edit report at https://bugs.php.net/bug.php?id=65182&edit=1
ID: 65182 Comment by: radtke at hd-system dot de Reported by: radtke at hd-system dot de Summary: Segmentation Fault by acces to class var in persitant mode Status: Verified Type: Bug Package: PDO related Operating System: Ubuntu 12.04 PHP Version: 5.5.0 Block user comment: N Private report: N New Comment: What's the status of this bug? It's pretty bad to use non persistant mode in multi tier scenarios on enterprise environments. Previous Comments: ------------------------------------------------------------------------ [2013-07-03 03:45:56] larue...@php.net I can reproduce, will look into it later ------------------------------------------------------------------------ [2013-07-02 10:24:46] radtke at hd-system dot de Description: ------------ create a class which extends the pdo class f.e. "extPDO" use the persistant mode declare a class var f.e. "$sf" create more then 1 object of the extPDO class and take access to the class var "$sf" causes a segmentation fault no seg fault if: 1. you are NOT in persistant mode 2. you just create 1 instance of the class 2. you don't declare the class var; just set it in the constructor and take access to it Noticed by accessing two different databases in a loop. Test script: --------------- class extPDO extends PDO { public $sf; public function __construct($db_name, $host, $username, $passwd) { $dsn = 'mysql:dbname='.$db_name.';host='.$host; $this->sf = '42'; $options = array(PDO::ATTR_PERSISTENT => true); parent::__construct($dsn, $username, $passwd, $options); $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } } function testExtPDO() { for($i = 1; $i <= 2; $i++){ try{ $pdo_obj = new extPDO('csp2_mycms', 'csp2-db.pille.hds', 'root', ''); $sql = 'SELECT user_id FROM user'; $pdo_st = $pdo_obj->query($sql); if($row = $pdo_st->fetch(PDO::FETCH_ASSOC)) echo $i.'.sf:'. $pdo_obj->sf."<br>"; } catch(Exception $e){ echo 'Exception: '.$e->getMessage().'<br>'; } } } testExtPDO(); Expected result: ---------------- no segmentation fault Actual result: -------------- segmentation fault ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=65182&edit=1