<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<span class="Apple-tab-span" style="white-space:pre">        </span>I understand that this bug report seems to be the same issue, but I'm a little troubled at the fact that I'm running PHP 5.2.3 and this is listed as having been fixed about a year and a half ago. I really do not mean to come off as being too forceful but can anyone on this distribution say that with PHP 5.2.3 and Drupal 5.3 that they have tried setting a variable in the database directly (not specifically using variable_set or variable_init) and their application was able to pick up the value using variable_get? Or even, been able to follow the suggested feature of setting the $conf array in settings.php to override a variable set previously.<div><br class="webkit-block-placeholder"></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>I see this is a problem. I see the code where it's happening and I would like to know if this case has been done and it really is only happening on the multiple machines as well as my local that my application is deployed on.<br></div><div><div> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div><br class="webkit-block-placeholder"></div><div><br class="Apple-interchange-newline"><br class="webkit-block-placeholder"></div><div>Scott Matthews</div><div>Senior Developer</div><div>(w) 617-227-1855 x164</div><div>(m) 617-710-8430</div><div>(f) 617-224-5388</div><div><a href="mailto:smatthews@optaros.com">smatthews@optaros.com</a></div><div><br class="webkit-block-placeholder"></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline"></span></span> </div><br><div><div>On Jan 29, 2008, at 1:42 PM, Metzler, David wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"> <!--[if !mso]> <style> st1\:*{behavior:url(#default#ieooui) } </style> <![endif]--> <div class="Section1"><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Ahh, static variables are supposed to be local in scope to the function that they are in. And they behave a bit differently than normal variables. <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">static $conf=’’ assignment doesn’t execute the second time the function gets called. It only executes at the initial creation of the static variable. This variable later gets converted to an array, but the next time the function gets called it should retain the previous value of $conf. It would not be reset to a string. You actually need to set static variables to this empty strings to get them to work properly with arrays. I’ve done that several times before. <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">It’s worth noting that this $conf <b><span style="font-weight:bold">SHOULD</span></b> be completely independent of the global $conf variable, and that doesn’t appear to be the case for you. <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">It’s possible this is a PHP bug, but I’m not really sure here. There are some references to such a bug at: <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><a href="http://bugs.php.net/bug.php?id=38287">http://bugs.php.net/bug.php?id=38287</a><o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Is it possible that you are being bitten by one of these? <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"> I have many modules that work as you want. The variable_get call pulls the database value without problem. It’s quite possible that once the PHP bug is resolved, everything will work they way you initially tried it. <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">And, no you should not need to call variable_init. <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Hope that helps. <o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy">Dave<o:p></o:p></span></font></p><p class="MsoNormal"><font size="2" color="navy" face="Arial"><span style="font-size: 10.0pt;font-family:Arial;color:navy"><o:p> </o:p></span></font></p> <div> <div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <hr size="2" width="100%" align="center" tabindex="-1"> </span></font></div><p class="MsoNormal"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt; font-family:Tahoma;font-weight:bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma"> support-bounces@drupal.org [<a href="mailto:support-bounces@drupal.org">mailto:support-bounces@drupal.org</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Scott Matthews<br> <b><span style="font-weight:bold">Sent:</span></b> Tuesday, January 29, 2008 9:43 AM<br> <b><span style="font-weight:bold">To:</span></b> <st1:personname w:st="on"><a href="mailto:support@drupal.org">support@drupal.org</a></st1:personname><br> <b><span style="font-weight:bold">Subject:</span></b> Re: [support] Issues with initializing Variables on startup..</span></font><o:p></o:p></p> </div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><o:p> </o:p></span></font></p><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Conf_init calls conf_path. the first line in conf path is:<o:p></o:p></span></font></p> <div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"> static $conf = '';<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><o:p> </o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">As I said, once I globally changed the intended array variable to something other than $conf ($config_vars for instance) it worked as expected.<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><o:p> </o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">Now, as I mentioned before, before I tried to initialize in the settings.php file, I just relied on the database value that I set. This was not being retrieved when I called variables_get() and variables_get() was only returning the value I had as the default. The only thing I can think of from what you are saying is that in my module I have to specifically call variables_init() for it to work. Is that true? when in the stack is variables_init called?<o:p></o:p></span></font></p> </div> <div><span style="orphans: 2;text-align:auto;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0;word-spacing:0px"><span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px;-webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;word-spacing:0px"> <div><p class="MsoNormal" style="margin-bottom:12.0pt"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black"><span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px;-webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;word-spacing:0px"><o:p> </o:p></span></span></font></p> </div> <span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;word-spacing: 0px"> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black">Scott Matthews<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black">Senior Developer<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black">(w) 617-227-1855 x164<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black">(m) 617-710-8430<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black">(f) 617-224-5388<o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black"><a href="mailto:smatthews@optaros.com">smatthews@optaros.com</a><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black"><o:p> </o:p></span></font></p> </div><p class="MsoNormal"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family:Helvetica;color:black"></span><br> <br> <br> </font><o:p></o:p></p> </span></span></span></div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><o:p> </o:p></span></font></p> <div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">On Jan 29, 2008, at 12:04 PM, Metzler, David wrote:<o:p></o:p></span></font></p> </div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><br> <br> <o:p></o:p></span></font></p> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u1:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName">Yes true, I was mistaken about the variables being instatitated. But these values are initially loaded from the database by the variable_init function, called in the drupal bootstrap process before settings.php is loaded. Yes you can override these in settings.php, in which case the database value doesn’t matter, but hey are still meant to be site configuration values that do not change. As the settings.php file indicates you don’t normally use this method, unless you’re rally trying to something vhost specific. They are not intended to house global variables that you intend to change during the page load. Variable_set is designed to change the database given values and is functioning as designed. It’s used by the admin pages to alter the site specific values. <u1:p></u1:p></u1:smarttagtype></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u1:p> </u1:p></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">90% of all use cases are handled using variable_get() to get the site specific configuration settings from the database and loaded in cache. It’s only in weird multi-site hosting cases that you would ever be overriding the values retrieved by variable_get in settings.php. It is not the preferred method of handling values that you expect to change during a page load or between page loads on a site. <u1:p></u1:p></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u1:p> </u1:p></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">Conf_init() in my inspection of the source code on drupal_api initializes conf to an array() not a string. Where do you see this behavior? <u1:p></u1:p></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u1:p> </u1:p></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">Dave<u1:p></u1:p></span></font><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u1:p> </u1:p></span></font><o:p></o:p></p> <div> <div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <hr size="2" width="100%" align="center" tabindex="-1"> </span></font></div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight: bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size: 10.0pt;font-family:Tahoma"> <a href="mailto:support-bounces@drupal.org">support-bounces@drupal.org</a> [<a href="mailto:support-bounces@drupal.org">mailto:support-bounces@drupal.org</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Scott Matthews<br> <b><span style="font-weight:bold">Sent:</span></b> Tuesday, January 29, 2008 8:19 AM<br> <b><span style="font-weight:bold">To:</span></b> <st1:personname u2:st="on"><a href="mailto:support@drupal.org">support@drupal.org</a></st1:personname><br> <b><span style="font-weight:bold">Subject:</span></b> Re: [support] Issues with initializing Variables on startup..</span></font><u1:p></u1:p><o:p></o:p></p> </div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">I don't believe you fully understood me.<u1:p></u1:p><o:p></o:p></span></font></p> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">First off, variable_get does NOT retrieve from the database. if you look in the code it ONLY retrieves from that $conf variable that variable_set stores the variable in when it sets to the database. If, as you suggest David, it really should retrieve from the database then it is not working as defined.<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">function variable_get($name, $default) {<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> global $conf;<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> return isset($conf[$name]) ? $conf[$name] : $default;<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">}<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">Second, according to the comments in the settings.php, you can initially override any variables stored in the database in the settings.php file by setting the same variable that variable_get and variable_set uses:<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">/**<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * Variable overrides:<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> *<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * To override specific entries in the 'variable' table for this site,<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * set them here. You usually don't need to use this feature. This is<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * useful in a configuration file for a vhost or directory, rather than<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * the default settings.php. Any configuration setting from the 'variable'<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * table can be given a new value.<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> *<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> * Remove the leading hash signs to enable.<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> *<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">/# </span></font><span class="apple-style-span"><b><u><font size="2"><span style="font-size:10.5pt; font-weight:bold">$conf</span></font></u></b></span> = array(<u1:p></u1:p><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"># 'site_name' => 'My Drupal site',<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"># 'theme_default' => 'minnelli',<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"># 'anonymous' => 'Visitor',<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"># );<u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> <div><span style="orphans: 2;text-align:auto;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0;word-spacing:0px"><span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px;-webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;word-spacing:0px"> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black"><span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;word-spacing: 0px"><u1:p> </u1:p></span></span></font><o:p></o:p></p> </div> <span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;word-spacing: 0px"> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black">Scott Matthews<u1:p></u1:p></span></font><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black">Senior Developer<u1:p></u1:p></span></font><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black">(w) 617-227-1855 x164<u1:p></u1:p></span></font><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black">(m) 617-710-8430<u1:p></u1:p></span></font><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black">(f) 617-224-5388<u1:p></u1:p></span></font><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black"><a href="mailto:smatthews@optaros.com">smatthews@optaros.com</a><u1:p></u1:p></span></font><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black"><u1:p> </u1:p></span></font><o:p></o:p></p> </div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:7.5pt;font-family: Helvetica;color:black"><br> <br> <br> <br> </span></font><o:p></o:p></p> </span></span></span></div> <u1:p></u1:p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"></span><u1:p> </u1:p><o:p></o:p></font></p> <div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">On Jan 29, 2008, at 11:04 AM, Metzler, David wrote:<u1:p></u1:p><o:p></o:p></span></font></p> </div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><br> <br> <br> <o:p></o:p></span></font></p> <u1:p></u1:p> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u3:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName">I think you’re confusing two completely independent constructs. <u3:p></u3:p></u3:smarttagtype></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u3:p> </u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">Variable_get and variable_set are used to store system wide settings that should persist in the database. They are never (to my knowledge) instantiated as PHP variables. The caching structure is meant to reduce the number of database hits involved in loading variables, and should not generally be accessed directly. Multiple calls to variable_get should leverage the cached variables as appropriate. <u3:p></u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u3:p> </u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">The variables in settings.php can be used, you can define your own global variables there, but if you want them to persist between page loads you need to do that yourself. IN your hooks you can reference these variables after defining them as globals, but be careful with namespace collisions. I usually create a global variable that has the same name as my module and store everying inside it (as an associative array). <u3:p></u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u3:p> </u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">Finally session variables can be used and will persist in the database for the duration of a session. <u3:p></u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><br> Hope that clarifies things. It sounds like drupal is behaving as designed here. <u3:p></u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u3:p> </u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy">Dave<u3:p></u3:p></span></font><u1:p></u1:p><o:p></o:p></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="2" color="navy" face="Arial"><span style="font-size:10.0pt;font-family:Arial; color:navy"><u3:p> </u3:p></span></font><u1:p></u1:p><o:p></o:p></p> <div> <div class="MsoNormal" align="center" style="text-align:center"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"> <hr size="2" width="100%" align="center" tabindex="-1"> </span></font></div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><font size="2" face="Tahoma"><span style="font-size:10.0pt;font-family:Tahoma;font-weight: bold">From:</span></font></b><font size="2" face="Tahoma"><span style="font-size: 10.0pt;font-family:Tahoma"> <a href="mailto:support-bounces@drupal.org">support-bounces@drupal.org</a> [<a href="mailto:support-bounces@drupal.org">mailto:support-bounces@drupal.org</a>] <b><span style="font-weight:bold">On Behalf Of </span></b>Scott Matthews<br> <b><span style="font-weight:bold">Sent:</span></b> Tuesday, January 29, 2008 7:37 AM<br> <b><span style="font-weight:bold">To:</span></b> <st1:personname u4:st="on"><a href="mailto:support@drupal.org">support@drupal.org</a></st1:personname><br> <b><span style="font-weight:bold">Cc:</span></b> Ron Trevarrow<br> <b><span style="font-weight:bold">Subject:</span></b> [support] Issues with initializing Variables on startup..</span></font><u3:p></u3:p><u1:p></u1:p><o:p></o:p></p> </div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u3:p> </u3:p><u1:p></u1:p><o:p></o:p></span></font></p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">I found what Appears to be a bug (or two) with initializing variables in Drupal.<u3:p></u3:p><u1:p></u1:p><o:p></o:p></span></font></p> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u3:p> </u3:p><u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">It is suggested that you can uncomment and set initial variable values in settings.php with the $conf array. In doing so, and not seeing my variables set when retrieving using variable_get, I discovered that conf_init(), when called to initialize the configure file path, it sets $conf to a string. I know that since it initializes settings.php within the context it conceptually SHOULD reset it to a variable, but it doesn't. I proved this by changing the variable array name in settings.php, variable_get, variable_set, variable_init and conf_init to $config_vars and the values I initialized in settings.php were reflected when my application later retrieved them using variable_get.<u3:p></u3:p><u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u3:p> </u3:p><u1:p></u1:p><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">This bug is currently hindering the flexibility of an application that I'm writing that will be deployed to different environments. I initially tried to set the variables in the 'variable' table of the Database in order to retrieve them with variable_get but that method only accesses the cached variables in $conf (or in my case, $config_vars. Is this on purpose? I see that variable_set will not only set the cached variable but will also set into the database. This seems to be a bug as well to me. Can someone clarify this for me?<u3:p></u3:p><u1:p></u1:p><o:p></o:p></span></font></p> <div><span style="orphans: 2;text-align:auto;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0;word-spacing:0px"><span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px;-webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none;-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;word-spacing:0px"> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;margin-bottom:12.0pt"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black"><span style="orphans: 2;widows: 2;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;-webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto;-webkit-text-stroke-width: 0px;word-spacing: 0px"><u3:p> </u3:p></span></span></font><u1:p></u1:p><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black">Scott Matthews<u3:p></u3:p></span></font><u1:p></u1:p><o:p></o:p></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:9.0pt;font-family: Helvetica;color:black"><u3:p> </u3:p></span></font><u1:p></u1:p><o:p></o:p></p> </div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="1" color="black" face="Helvetica"><span style="font-size:7.5pt;font-family: Helvetica;color:black"><br> <br> <br> <br> <br> </span></font><o:p></o:p></p> </span></span></div> <u1:p></u1:p><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><u3:p><span style="font-size:12.0pt"></span><u3:p></u3:p> <o:p></o:p></u3:p><u1:p></u1:p></font></p> </div> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">--<span class="apple-converted-space"> <u1:p></u1:p></span><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt">[ Drupal support list | <a href="http://lists.drupal.org">http://lists.drupal.org</a>/ ]<u1:p></u1:p><o:p></o:p></span></font></p> </div> </div><p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><font size="3" face="Times New Roman"><span style="font-size:12.0pt"><u1:p> </u1:p><o:p></o:p></span></font></p> </div> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">--<span class="apple-converted-space"> </span><o:p></o:p></span></font></p> </div> <div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt">[ Drupal support list | <a href="http://lists.drupal.org">http://lists.drupal.org</a>/ ]<o:p></o:p></span></font></p> </div> </div><p class="MsoNormal"><font size="3" face="Times New Roman"><span style="font-size: 12.0pt"><o:p> </o:p></span></font></p> </div> </div> </o:smarttagtype><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">--<span class="Apple-converted-space"> </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">[ Drupal support list | <a href="http://lists.drupal.org">http://lists.drupal.org</a>/ ]</div> </blockquote></div><br></div></body></html>