Hi Ken, I'm fairly new to PHP extension programming, so forgive me if I'm missing the obvious, but your code appears to be trying to copy a global variable to a local scope. Is that your intent?
If so, why can't the script do this itself by using a "global" declaration for the variable? For example: <? $v = "foo"; function bar() { global $v; echo "v = $v\n"; } ?> As for why you're getting a segfault, I suspect it's a reference counting issue. Have a look at the definition of ZEND_SET_SYMBOL_WITH_LENGTH in zend_API.h and you'll see it is modifying the container you retrieved from EG(symbol_table). Good luck, - Mark > I am trying to make a function for my extension that makes a predefined > variable global > > I have tried something along the lines of: > > if(zend_hash_find(&EG(symbol_table), var, strlen(var)+1, (void **) > &vars_data)!=FAILURE) > { > ZEND_SET_SYMBOL(EG(active_symbol_table), var, *vars_data); > } > > but it seg faults upon second execution. > > Can someone reccomend a more successful method of accomplishing this? > > > Chhers, > > Ken > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php