Sophie

Sophie

distrib > Mageia > 4 > i586 > by-pkgid > f800694edefe91adea2624f711a41a2d > files > 1866

php-manual-en-5.5.7-1.mga4.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Miscellaneous Questions</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="faq.migration5.html">Migrating from PHP 4 to PHP 5</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="appendices.html">Appendices</a></div>
 <div class="up"><a href="faq.html">FAQ</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="faq.misc" class="chapter">
  <h1>Miscellaneous Questions</h1>

  

   <p class="para">
    There can be some questions we can&#039;t put into other
    categories. Here you can find them.
   </p>

  <div class="qandaset"><ol class="qandaset_questions"><li><a href="#faq.misc.bz2">
     
      How can I handle the bz2 compressed manuals on Windows?
     
    </a></li><li><a href="#faq.misc.arguments.references">
     
      What does &amp; beside argument mean in function declaration of e.g.
      asort?
     
    </a></li><li><a href="#faq.misc.registerglobals">
     
      How do I deal with register_globals?
     
    </a></li></ol></div>
   <dl class="qandaentry" id="faq.misc.bz2">
    <dt><strong>
     
      How can I handle the bz2 compressed manuals on Windows?
     
    </strong></dt>
    <dd class="answer">
     <p class="para">
      If you don&#039;t have an archiver-tool to handle bz2 files
      <a href="http://www.bzip.org/" class="link external">&raquo;&nbsp;download</a> the command line tool
      from Redhat (please find further information below). 
     </p>
     <p class="para">
      If you would not like to use a command line tool, you can try free 
      tools like <a href="http://www.stuffit.com/" class="link external">&raquo;&nbsp;Stuffit Expander</a>, 
      <a href="http://www.ultimatezip.com/" class="link external">&raquo;&nbsp;UltimateZip</a>,
      <a href="http://www.7-zip.org/" class="link external">&raquo;&nbsp;7-Zip</a>, or
      <a href="http://www.quickzip.org/" class="link external">&raquo;&nbsp;Quick Zip</a>. If you
      have tools like <a href="http://www.rarlab.com/" class="link external">&raquo;&nbsp;WinRAR</a> or
      <a href="http://www.powerarchiver.com/" class="link external">&raquo;&nbsp;Power Archiver</a>, you can
      easily decompress the bz2 files with it. If you use Total Commander
      (formerly Windows Commander),
      a bz2 plugin for that program is available freely from the
      <a href="http://www.ghisler.com/" class="link external">&raquo;&nbsp;Total Commander</a> site. 
     </p>
     <p class="para">
      The bzip2 command line tool from Redhat:
     </p>
     <p class="para">
      Win2k Sp2 users grab the latest version 1.0.2, all
      other Windows user should grab version 1.00. After downloading rename
      the executable to bzip2.exe. For convenience put it into a directory in
      your path, e.g. C:\Windows where C represents your Windows installation
      drive.
     </p>
     <p class="para">
      Note: lang stands for your language and x for the desired format, e.g.: pdf.
      To uncompress the php_manual_lang.x.bz2 follow these simple instructions:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">open a command prompt window</span>
       </li>
       <li class="listitem">
        <span class="simpara">
         cd to the folder where you stored the
         downloaded php_manual_lang.x.bz2
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         invoke bzip2 -d php_manual_lang.x.bz2, extracting
         php_manual_lang.x in the same folder
        </span>
       </li>
      </ul>
     </p>
     <p class="para">
      In case you downloaded the php_manual_lang.tar.bz2 with many html-files
      in it, the procedure is the same. The only difference is that you got a file
      php_manual_lang.tar. The tar format is known to be treated with most
      common archivers on Windows like e.g.
      <a href="http://www.winzip.com/" class="link external">&raquo;&nbsp;WinZip</a>.
     </p>
    </dd>
   </dl>
   
   <dl class="qandaentry" id="faq.misc.arguments.references">
    <dt><strong>
     
      What does &amp; beside argument mean in function declaration of e.g.
       <span class="function"><a href="function.asort.html" class="function">asort()</a></span>?
     
    </strong></dt>
    <dd class="answer">
     <p class="para">
      It means that the argument is
      <a href="language.references.pass.html" class="link">passed by reference</a> and
      the function will likely modify it corresponding to the documentation. You
      can pass only variables this way and you don&#039;t need to pass them with
      &amp; in function call (it&#039;s even
      <a href="ini.core.html#ini.allow-call-time-pass-reference" class="link">deprecated</a>).
     </p>
    </dd>
   </dl>
   
   <dl class="qandaentry" id="faq.misc.registerglobals">
    <dt><strong>
     
      How do I deal with <em>register_globals</em>?
     
    </strong></dt>
    <dd class="answer">
     <p class="para">
      For information about the security implications of
      <em>register_globals</em>, read the security chapter on
      <a href="security.globals.html" class="link">Using register_globals</a>.
     </p>
     <p class="para">
      It&#039;s preferred to use
      <a href="language.variables.superglobals.html" class="link">superglobals</a>,
      rather than relying upon <em>register_globals</em> being on.
     </p>
     <p class="para">
      If you are on a shared host with <em>register_globals</em> turned
      off and need to use some legacy applications, which require this option
      to be turned on, or you are on some hosting server, where this feature
      is turned on, but you would like to eliminate security risks, you might
      need to emulate the opposite setting with PHP. It is always a good idea to
      first ask if it would be possible to change the option somehow in PHP&#039;s
      configuration, but if it is not possible, then you can use these
      compatibility snippets.
     </p>
     <p class="para">
      <div class="example" id="example-5606">
       <p><strong>Example #1 Emulating Register Globals</strong></p>
        <div class="example-contents"><p>
        This will emulate register_globals On. If you altered your 
        <a href="ini.core.html#ini.variables-order" class="link">variables_order</a> directive,
        consider changing the <var class="varname"><var class="varname">$superglobals</var></var> accordingly.
       </p></div>
       <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;Emulate&nbsp;register_globals&nbsp;on<br /></span><span style="color: #007700">if&nbsp;(!</span><span style="color: #0000BB">ini_get</span><span style="color: #007700">(</span><span style="color: #DD0000">'register_globals'</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$superglobals&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_ENV</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_COOKIE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_GET</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">array_unshift</span><span style="color: #007700">(</span><span style="color: #0000BB">$superglobals</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$superglobals&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$superglobal</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">extract</span><span style="color: #007700">(</span><span style="color: #0000BB">$superglobal</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">EXTR_SKIP</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
       </div>

       <div class="example-contents"><p>
        This will emulate register_globals Off. Keep in mind, that this code 
        should be called at the very beginning of your script, or after 
         <span class="function"><a href="function.session-start.html" class="function">session_start()</a></span> if you use it to start your session.
       </p></div>
       <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;Emulate&nbsp;register_globals&nbsp;off<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">unregister_GLOBALS</span><span style="color: #007700">()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">ini_get</span><span style="color: #007700">(</span><span style="color: #DD0000">'register_globals'</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Might&nbsp;want&nbsp;to&nbsp;change&nbsp;this&nbsp;perhaps&nbsp;to&nbsp;a&nbsp;nicer&nbsp;error<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(isset(</span><span style="color: #0000BB">$_REQUEST</span><span style="color: #007700">[</span><span style="color: #DD0000">'GLOBALS'</span><span style="color: #007700">])&nbsp;||&nbsp;isset(</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">'GLOBALS'</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'GLOBALS&nbsp;overwrite&nbsp;attempt&nbsp;detected'</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//&nbsp;Variables&nbsp;that&nbsp;shouldn't&nbsp;be&nbsp;unset<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$noUnset&nbsp;</span><span style="color: #007700">=&nbsp;array(</span><span style="color: #DD0000">'GLOBALS'</span><span style="color: #007700">,&nbsp;&nbsp;</span><span style="color: #DD0000">'_GET'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'_POST'</span><span style="color: #007700">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'_COOKIE'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'_REQUEST'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'_SERVER'</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'_ENV'</span><span style="color: #007700">,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #DD0000">'_FILES'</span><span style="color: #007700">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$input&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">array_merge</span><span style="color: #007700">(</span><span style="color: #0000BB">$_GET</span><span style="color: #007700">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_COOKIE</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_ENV</span><span style="color: #007700">,&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">)&nbsp;?&nbsp;</span><span style="color: #0000BB">$_SESSION&nbsp;</span><span style="color: #007700">:&nbsp;array());<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(</span><span style="color: #0000BB">$input&nbsp;</span><span style="color: #007700">as&nbsp;</span><span style="color: #0000BB">$k&nbsp;</span><span style="color: #007700">=&gt;&nbsp;</span><span style="color: #0000BB">$v</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!</span><span style="color: #0000BB">in_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$k</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$noUnset</span><span style="color: #007700">)&nbsp;&amp;&amp;&nbsp;isset(</span><span style="color: #0000BB">$GLOBALS</span><span style="color: #007700">[</span><span style="color: #0000BB">$k</span><span style="color: #007700">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unset(</span><span style="color: #0000BB">$GLOBALS</span><span style="color: #007700">[</span><span style="color: #0000BB">$k</span><span style="color: #007700">]);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /></span><span style="color: #0000BB">unregister_GLOBALS</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
       </div>

      </div>
     </p>
    </dd>
   </dl>
  
 </div>
<hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="faq.migration5.html">Migrating from PHP 4 to PHP 5</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="appendices.html">Appendices</a></div>
 <div class="up"><a href="faq.html">FAQ</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>