# functions

name: apcu_add
purpose: Cache a new variable in the data store
manual_id: function.apcu-add
version: PECL apcu >= 4.0.0
return_type: array
return_description:
<p class="para">
   Returns TRUE if something has effectively been added into the cache, FALSE otherwise.
   Second syntax returns array with error keys.
  </p>


name: apcu_cache_info
purpose: Retrieves cached information from APCu's data store
manual_id: function.apcu-cache-info
version: PECL apcu >= 4.0.0
return_type: false
return_description:
<p class="para">
   Array of cached data (and meta-data) or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    <span class="function">apcu_cache_info</span> will raise a warning if it is unable to
    retrieve APC cache data. This typically occurs when APC is not enabled.
   </span>
  </p></blockquote>


name: apcu_cas
purpose: Updates an old value with a new value
manual_id: function.apcu-cas
version: PECL apcu >= 4.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: apcu_clear_cache
purpose: Clears the APCu cache
manual_id: function.apcu-clear-cache
version: PECL apcu >= 4.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> always
  </p>


name: apcu_dec
purpose: Decrease a stored number
manual_id: function.apcu-dec
version: PECL apcu >= 4.0.0
return_type: false
return_description:
<p class="para">
   Returns the current value of <code class="parameter">key</code>&#039;s value on success,
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>


name: apcu_delete
purpose: Removes a stored variable from the cache
manual_id: function.apcu-delete
version: PECL apcu >= 4.0.0
return_type: mixed
return_description:
<p class="para">
   If <code class="parameter">key</code> is an <span class="type">array</span>, an indexed <span class="type">array</span> of the keys is returned.
   Otherwise <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> is returned on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: apcu_enabled
purpose: Whether APCu is usable in the current environment
manual_id: function.apcu-enabled
version: PECL apcu >= 4.0.3
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> when APCu is usable in the current environment, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: apcu_exists
purpose: Checks if entry exists
manual_id: function.apcu-exists
version: PECL apcu >= 4.0.0
return_type: mixed
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the key exists, otherwise <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> Or if an
   <span class="type">array</span> was passed to <code class="parameter">keys</code>, then
   an array is returned that contains all existing keys, or an empty
   array if none exist.
  </p>


name: apcu_fetch
purpose: Fetch a stored variable from the cache
manual_id: function.apcu-fetch
version: PECL apcu >= 4.0.0
return_type: mixed
return_description:
<p class="para">
   The stored variable or array of variables on success; <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>


name: apcu_key_info
purpose: Get detailed information about the cache key
manual_id: function.apcu-key-info
return_type: null
return_description:
<p class="para">
   An array containing the detailed information about the cache key, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if the key does not exist.
  </p>


name: apcu_sma_info
purpose: Retrieves APCu Shared Memory Allocation information
manual_id: function.apcu-sma-info
version: PECL apcu >= 4.0.0
return_type: false
return_description:
<p class="para">
   Array of Shared Memory Allocation data; <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: apcu_store
purpose: Cache a variable in the data store
manual_id: function.apcu-store
version: PECL apcu >= 4.0.0
return_type: array
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
   Second syntax returns array with error keys.
  </p>


name: APCUIterator.current
purpose: Get current item
manual_id: apcuiterator.current
version: PECL apcu >= 5.0.0
return_type: mixed
return_description:
<p class="para">
   Returns the current item on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if no
   more items or exist, or on failure.
  </p>


name: APCUIterator.getTotalHits
purpose: Get total cache hits
manual_id: apcuiterator.gettotalhits
version: PECL apcu >= 5.0.0
return_type: int
return_description:
<p class="para">
   The number of hits on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: APCUIterator.key
purpose: Get iterator key
manual_id: apcuiterator.key
version: PECL apcu >= 5.0.0
return_type: string
return_description:
<p class="para">
   Returns the key on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> upon failure.
  </p>


name: APCUIterator.valid
purpose: Checks if current position is valid
manual_id: apcuiterator.valid
version: PECL apcu >= 5.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the current iterator position is valid, otherwise <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: Componere\Definition.getClosures
purpose: Get Closures
manual_id: componere-definition.getclosures
version: Componere 2 >= 2.1.0
return_type: array
return_description:
<p class="para">
   Shall return all methods as an array of Closure objects bound to the correct scope
  </p>


name: Componere\Patch.derive
purpose: Patch Derivation
manual_id: componere-patch.derive
version: Componere 2 >= 2.1.1
return_type: Patch
return_description:
<p class="para">
   <span class="type">Patch</span> for <code class="parameter">instance</code> derived from the current <span class="type">Patch</span> 
  </p>


name: Componere\Patch.getClosures
purpose: Get Closures
manual_id: componere-patch.getclosures
version: Componere 2 >= 2.1.0
return_type: array
return_description:
<p class="para">
    Shall return all methods as an array of Closure objects bound to the correct scope and object
  </p>


name: Componere\cast
purpose: Casting
manual_id: componere.cast
version: Componere 2 >= 2.1.2
return_type: Type
return_description:
<p class="para">
   An <span class="type">object</span> of type <span class="exceptionname">Type</span>, cast from <code class="parameter">object</code>
  </p>

errors:
<div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if the type of <code class="parameter">object</code> is or is derived from an internal class
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is an interface
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is a trait
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is an abstract
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is not compatible with the type of <code class="parameter">object</code>
   </p>
  </div>


name: Componere\cast_by_ref
purpose: Casting
manual_id: componere.cast_by_ref
version: Componere 2 >= 2.1.2
return_type: Type
return_description:
<p class="para">
   An <span class="type">object</span> of type <span class="exceptionname">Type</span>, cast from <code class="parameter">object</code>, where members are references to <code class="parameter">object</code> members
  </p>

errors:
<div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if the type of <code class="parameter">object</code> is or is derived from an internal class
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is an interface
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is a trait
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is an abstract
   </p>
  </div>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    Shall throw <span class="type">InvalidArgumentException</span> if <span class="exceptionname">Type</span> is not compatible with the type of <code class="parameter">object</code>
   </p>
  </div>


name: debug_backtrace
purpose: Generates a backtrace
manual_id: function.debug-backtrace
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an array of associative <span class="type">array</span>s. The possible returned elements
   are as follows:
  </p>
  <p class="para">
   <table class="doctable table">
    <caption><strong>Possible returned elements from <span class="function">debug_backtrace</span></strong></caption>
    
     <thead>
      <tr>
       <th>Name</th>
       <th>Type</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>function</td>
       <td><span class="type">string</span></td>
       <td>
        The current function name.  See also
        <a href="language.constants.predefined.html" class="link">__FUNCTION__</a>.
       </td>
      </tr>

      <tr>
       <td>line</td>
       <td><span class="type">int</span></td>
       <td>
        The current line number.  See also
        <a href="language.constants.predefined.html" class="link">__LINE__</a>.
       </td>
      </tr>

      <tr>
       <td>file</td>
       <td><span class="type">string</span></td>
       <td>
        The current file name.  See also
        <a href="language.constants.predefined.html" class="link">__FILE__</a>.
       </td>
      </tr>

      <tr>
       <td>class</td>
       <td><span class="type">string</span></td>
       <td>
        The current <a href="language.oop5.html" class="link">class</a> name.  See also
        <a href="language.constants.predefined.html" class="link">__CLASS__</a>
       </td>
      </tr>

      <tr>
       <td>object</td>
       <td><span class="type">object</span></td>
       <td>
        The current <a href="language.oop5.html" class="link">object</a>.
       </td>
      </tr>

      <tr>
       <td>type</td>
       <td><span class="type">string</span></td>
       <td>
        The current call type. If a method call, &quot;-&gt;&quot; is returned. If a static
        method call, &quot;::&quot; is returned. If a function call, nothing is returned.
       </td>
      </tr>

      <tr>
       <td>args</td>
       <td><span class="type">array</span></td>
       <td>
        If inside a function, this lists the functions arguments.  If
        inside an included file, this lists the included file name(s).
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>


name: error_clear_last
purpose: Clear the most recent error
manual_id: function.error-clear-last
version: PHP 7, PHP 8
return_type: void
return_description:
<p class="para">
   Clears the most recent errors, making it unable to be retrieved with
   <span class="function">error_get_last</span>.
  </p>


name: error_get_last
purpose: Get the last occurred error
manual_id: function.error-get-last
version: PHP 5 >= 5.2.0, PHP 7, PHP 8
return_type: null
return_description:
<p class="para">
   Returns an associative array describing the last error with keys &quot;type&quot;,
   &quot;message&quot;, &quot;file&quot; and &quot;line&quot;. If the error has been caused by a PHP
   internal function then the &quot;message&quot; begins with its name.
   Returns <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if there hasn&#039;t been an error yet.
  </p>


name: error_log
purpose: Send an error message to the defined error handling routines
manual_id: function.error-log
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
   If <code class="parameter">message_type</code> is zero, this function always returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>,
   regardless of whether the error could be logged or not.
  </p>


name: error_reporting
purpose: Sets which PHP errors are reported
manual_id: function.error-reporting
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns the <a href="errorfunc.configuration.html#ini.error-reporting" class="link">error_reporting</a>
   level, <em>before</em> it is changed to
   <code class="parameter">error_level</code>.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    The <a href="language.operators.errorcontrol.html" class="link">error control</a>
    <code class="literal">@</code>-operator changes the <code class="parameter">error_level</code> during error handling.
   </span>
  </p></blockquote>


name: restore_error_handler
purpose: Restores the previous error handler function
manual_id: function.restore-error-handler
version: PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
return_type: true
return_description:
<p class="para">
   Always returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>.
  </p>


name: set_error_handler
purpose: Sets a user-defined error handler function
manual_id: function.set-error-handler
version: PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
return_type: null
return_description:
<p class="para">
   Returns the previously defined error handler (if any). If
   the built-in error handler is used <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> is returned.
   If the previous error handler
   was a class method, this function will return an indexed array with the class
   and the method name.
  </p>


name: set_exception_handler
purpose: Sets a user-defined exception handler function
manual_id: function.set-exception-handler
version: PHP 5, PHP 7, PHP 8
return_type: null
return_description:
<p class="para">
   Returns the previously defined exception handler, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on error. If
   no previous handler was defined, <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> is also returned.
  </p>


name: trigger_error
purpose: Generates a user-level error/warning/notice message
manual_id: function.trigger-error
version: PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
return_type: true
return_description:
<p class="para">
   Always returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>.
  </p>

errors:
<p class="para">
   This function throws a <span class="classname">ValueError</span> if
   <code class="parameter">error_level</code> is not one of
   <strong><code><a href="errorfunc.constants.html#constant.e-user-error">E_USER_ERROR</a></code></strong>, <strong><code><a href="errorfunc.constants.html#constant.e-user-warning">E_USER_WARNING</a></code></strong>,
   <strong><code><a href="errorfunc.constants.html#constant.e-user-notice">E_USER_NOTICE</a></code></strong>, <strong><code><a href="errorfunc.constants.html#constant.e-user-deprecated">E_USER_DEPRECATED</a></code></strong>.
  </p>


name: FFI.addr
purpose: Creates an unmanaged pointer to C data
manual_id: ffi.addr
version: PHP 7 >= 7.4.0, PHP 8
return_type: FFI\CData
return_description:
<p class="para">
   Returns the freshly created <span class="classname">FFI\CData</span> object.
  </p>


name: FFI.alignof
purpose: Gets the alignment
manual_id: ffi.alignof
version: PHP 7 >= 7.4.0, PHP 8
return_type: int
return_description:
<p class="para">
   Returns the alignment of the given <span class="classname">FFI\CData</span> or
   <span class="classname">FFI\CType</span> object.
  </p>


name: FFI.arrayType
purpose: Dynamically constructs a new C array type
manual_id: ffi.arraytype
version: PHP 7 >= 7.4.0, PHP 8
return_type: FFI\CType
return_description:
<p class="para">
   Returns the freshly created <span class="classname">FFI\CType</span> object.
  </p>


name: FFI.isNull
purpose: Checks whether a FFI\CData is a null pointer
manual_id: ffi.isnull
version: PHP 7 >= 7.4.0, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns whether a <span class="classname">FFI\CData</span> is a null pointer.
  </p>


name: FFI.load
purpose: Loads C declarations from a C header file
manual_id: ffi.load
version: PHP 7 >= 7.4.0, PHP 8
return_type: null
return_description:
<p class="para">
   Returns the freshly created <span class="classname">FFI</span> object, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>


name: FFI.memcmp
purpose: Compares memory areas
manual_id: ffi.memcmp
version: PHP 7 >= 7.4.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns a value less than <code class="literal">0</code> if the contents of the memory area starting at <code class="parameter">ptr1</code>
   are considered less than the contents of the memory area starting at <code class="parameter">ptr2</code>,
   a value greater than <code class="literal">0</code> if the contents of the first memory area are considered greater than the second,
   and <code class="literal">0</code> if they are equal.
  </p>


name: FFI.new
purpose: Creates a C data structure
manual_id: ffi.new
version: PHP 7 >= 7.4.0, PHP 8
return_type: null
return_description:
<p class="para">
   Returns the freshly created <span class="classname">FFI\CData</span> object,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>


name: FFI.sizeof
purpose: Gets the size of C data or types
manual_id: ffi.sizeof
version: PHP 7 >= 7.4.0, PHP 8
return_type: int
return_description:
<p class="para">
   The size of the memory area pointed at by <code class="parameter">ptr</code>.
  </p>


name: FFI.type
purpose: Creates an FFI\CType object from a C declaration
manual_id: ffi.type
version: PHP 7 >= 7.4.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the freshly created <span class="classname">FFI\CType</span> object,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>


name: FFI.typeof
purpose: Gets the FFI\CType of FFI\CData
manual_id: ffi.typeof
version: PHP 7 >= 7.4.0, PHP 8
return_type: FFI\CType
return_description:
<p class="para">
   Returns the <span class="classname">FFI\CType</span> object representing the type of the given
   <span class="classname">FFI\CData</span> object.
  </p>


name: opcache_compile_file
purpose: Compiles and caches a PHP script without executing it
manual_id: function.opcache-compile-file
version: PHP 5 >= 5.5.5, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if <code class="parameter">filename</code> was compiled successfully
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If <code class="parameter">filename</code> cannot be loaded or compiled, an error of
   level <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> is generated. You may use
   <a href="language.operators.errorcontrol.html" class="link">@</a> to suppress this
   warning.
  </p>


name: opcache_get_configuration
purpose: Get configuration information about the cache
manual_id: function.opcache-get-configuration
version: PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2
return_type: false
return_description: <p class="para"> Returns an array of information, including ini, blacklist and version </p>
errors:
<p class="para">
   If <code class="literal">opcache.restrict_api</code> is in use and the current path 
   is in violation of the rule, an E_WARNING will be raised; no status information will
   be returned.
  </p>


name: opcache_get_status
purpose: Get status information about the cache
manual_id: function.opcache-get-status
version: PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache > 7.0.2
return_type: false
return_description:
<p class="para">
   Returns an array of information, optionally containing script specific state information,
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If <code class="literal">opcache.restrict_api</code> is in use and the current path 
   is in violation of the rule, an E_WARNING will be raised; no status information will
   be returned.
  </p>


name: opcache_invalidate
purpose: Invalidates a cached script
manual_id: function.opcache-invalidate
version: PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the opcode cache for <code class="parameter">filename</code> was
   invalidated or if there was nothing to invalidate, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the opcode
   cache is disabled.
  </p>


name: opcache_is_script_cached
purpose: Tells whether a script is cached in OPCache
manual_id: function.opcache-is-script-cached
version: PHP 5 >= 5.5.11, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.4
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if <code class="parameter">filename</code> is cached in OPCache,
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: opcache_reset
purpose: Resets the contents of the opcode cache
manual_id: function.opcache-reset
version: PHP 5 >= 5.5.0, PHP 7, PHP 8, PECL ZendOpcache >= 7.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the opcode cache was reset, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the opcode
   cache is disabled or the restart is pending or in progress (see <span class="function">opcache_get_status</span>).
  </p>


name: ob_clean
purpose: Clean (erase) the contents of the active output buffer
manual_id: function.ob-clean
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If the function fails it generates an <strong><code><a href="errorfunc.constants.html#constant.e-notice">E_NOTICE</a></code></strong>.
  </p>


name: ob_get_clean
purpose: Get the contents of the active output buffer and turn it off
manual_id: function.ob-get-clean
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the contents of the active output buffer on success
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <div class="caution"><strong class="caution">Caution</strong>
   <p class="simpara">
    <span class="function">ob_get_clean</span> will return false
    but will not generate an <strong><code><a href="errorfunc.constants.html#constant.e-notice">E_NOTICE</a></code></strong>
    if there is no active output buffer.
   </p>
  </div>


name: ob_get_contents
purpose: Return the contents of the output buffer
manual_id: function.ob-get-contents
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   This will return the contents of the output buffer or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, if output
   buffering isn&#039;t active.
  </p>


name: ob_get_flush
manual_id: function.ob-get-flush
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
purpose:
Flush (send) the return value of the active output handler,   return the contents of the active output buffer and turn it off

return_description:
<p class="para">
   Returns the contents of the active output buffer on success
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ob_get_length
purpose: Return the length of the output buffer
manual_id: function.ob-get-length
version: PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the length of the output buffer contents, in bytes, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if no
   buffering is active.
  </p>


name: ob_get_level
purpose: Return the nesting level of the output buffering mechanism
manual_id: function.ob-get-level
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns the level of nested output buffering handlers or zero if output
   buffering is not active.
  </p>
  <div class="caution"><strong class="caution">Caution</strong>
   <p class="simpara">
    The value for identical levels between <span class="function">ob_get_level</span>
    and <span class="function">ob_get_status</span> is off by one.

    For <span class="function">ob_get_level</span>
    the first level is <code class="literal">1</code>.
    Whereas for <span class="function">ob_get_status</span>
    the first level is <code class="literal">0</code>.
   </p>
  </div>


name: ob_get_status
purpose: Get status of output buffers
manual_id: function.ob-get-status
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   If <code class="parameter">full_status</code> is omitted or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> a simple array
   holding status information on the active output level is returned.
  </p>
  <p class="para">
   If <code class="parameter">full_status</code> is <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> an array
   with one element for each active output buffer level is returned.
   The output level is used as key of the top level array and each array
   element itself is another array holding status information
   on one active output level.
  </p>
  <p class="para">
   An empty array is returned if output buffering is not turned on.
  </p>
  <p class="para">
   <table class="segmentedlist">
    <caption><strong><span class="function">ob_get_status</span> return array elements</strong></caption>
    <thead><tr><th>Key</th><th>Value</th>
    </tr></thead><tbody><tr class="seglistitem">
     <td class="seg">name</td>
     <td class="seg">
      Name of active output handler (see the return values of
      <span class="function">ob_list_handlers</span> for details)
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">type</td>
     <td class="seg">
      <code class="literal">0</code> (internal handler) or
      <code class="literal">1</code> (user supplied handler)
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">flags</td>
     <td class="seg">
      Bitmask of flags set by <span class="function">ob_start</span>,
      the type of output handler (see above)
      and the status of the buffering process
      (<a href="outcontrol.constants.html#outcontrol.constants.flags-returned-by-handler" class="link">
       <strong><code>PHP_OUTPUT_HANDLER_<span class="replaceable">*</span></code></strong>
      </a> constants).
      If the handler successfully processed the buffer and did not return <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>,
      <strong><code><a href="outcontrol.constants.html#constant.php-output-handler-started">PHP_OUTPUT_HANDLER_STARTED</a></code></strong> and
      <strong><code><a href="outcontrol.constants.html#constant.php-output-handler-processed">PHP_OUTPUT_HANDLER_PROCESSED</a></code></strong> will be set.
      If the handler failed while processing the buffer or returned <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>,
      <strong><code><a href="outcontrol.constants.html#constant.php-output-handler-started">PHP_OUTPUT_HANDLER_STARTED</a></code></strong> and
      <strong><code><a href="outcontrol.constants.html#constant.php-output-handler-disabled">PHP_OUTPUT_HANDLER_DISABLED</a></code></strong> will be set.
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">level</td>
     <td class="seg">
      Output nesting level (zero based). Note that the value returned for the
      same level by <span class="function">ob_get_level</span> is off by one.
      The first level is <code class="literal">0</code> for <span class="function">ob_get_status</span>,
      and <code class="literal">1</code> for <span class="function">ob_get_level</span>.
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">chunk_size</td>
     <td class="seg">
      Chunk size in bytes. Set by <span class="function">ob_start</span>
      or <a href="outcontrol.configuration.html#ini.output-buffering" class="link">output_buffering</a> is enabled
      and its value is set to a positive integer
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">buffer_size</td>
     <td class="seg">
      Output buffer size in bytes
     </td>
    </tr>
    <tr class="seglistitem">
     <td class="seg">buffer_used</td>
     <td class="seg">
      Size of data in output buffer in bytes
      (the same as the integer return value of <span class="function">ob_get_length</span>)
     </td>
    </tr>
   </tbody></table>
  </p>


name: ob_list_handlers
purpose: List all output handlers in use
manual_id: function.ob-list-handlers
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   This will return an array with the output handlers in use (if any).
  </p>
  <p class="para">
   If <a href="outcontrol.configuration.html#ini.output-buffering" class="link">output_buffering</a> is enabled
   and no <a href="outcontrol.configuration.html#ini.output-handler" class="link">output_handler</a> is set,
   or no callback or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> was passed to <span class="function">ob_start</span>,
   <code class="literal">&quot;default output handler&quot;</code> is returned.
   Enabling <a href="outcontrol.configuration.html#ini.output-buffering" class="link">output_buffering</a>
   and setting an <a href="outcontrol.configuration.html#ini.output-handler" class="link">output_handler</a>
   is equivalent to passing
   an <a href="functions.internal.html" class="link">internal (built-in) function</a>
   to <span class="function">ob_start</span>.
  </p>
  <p class="para">
   If a <span class="type">callable</span> was passed to <span class="function">ob_start</span>,
   the <a href="language.namespaces.basics.html" class="link">fully qualified name</a>
   of the <span class="type">callable</span> is returned.
   If the <span class="type">callable</span> is an object implementing
   <a href="language.oop5.magic.html#language.oop5.magic.invoke" class="link">__invoke()</a>,
   the <a href="language.namespaces.basics.html" class="link">fully qualified name</a>
   of the object&#039;s <a href="language.oop5.magic.html#language.oop5.magic.invoke" class="link">__invoke()</a>
   method is returned.
   If the <span class="type">callable</span> is a <span class="classname">Closure</span>,
   <code class="literal">&quot;Closure::__invoke&quot;</code> is returned.
  </p>


name: assert_options
purpose: Set/get the various assert flags
manual_id: function.assert-options
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: mixed
return_description: <p class="para"> Returns the original setting of any option. </p>
errors:
<p class="para">
   If <code class="parameter">option</code> is not a valid option a
   <span class="classname">ValueError</span> is thrown.
  </p>


name: assert
purpose: Checks an assertion
manual_id: function.assert
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: void
return_description:
<p class="para">
   <span class="function">assert</span> will always return <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if at least one of the following is true:
  </p>
  <ul class="simplelist">
   <li><code class="literal">zend.assertions=0</code></li>
   <li><code class="literal">zend.assertions=-1</code></li>
   <li><code class="literal">assert.exception=1</code></li>
   <li><code class="literal">assert.bail=1</code></li>
   <li>A custom exception object is passed to <code class="parameter">description</code>.</li>
  </ul>
  <p class="para">
   If none of the conditions are true <span class="function">assert</span> will return <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if
   <code class="parameter">assertion</code> is truthy and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: cli_get_process_title
purpose: Returns the current process title
manual_id: function.cli-get-process-title
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: null
return_description:
<p class="para">
   Return a string with the current process title or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on error.
  </p>

errors:
<p class="para">
   An <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> will be generated if the operating system
   is unsupported.
  </p>


name: dl
purpose: Loads a PHP extension at runtime
manual_id: function.dl
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. If the functionality of loading modules is not available
   or has been disabled (by setting
   <a href="info.configuration.html#ini.enable-dl" class="link">enable_dl</a> off
   in <var class="filename">php.ini</var>) an <strong><code><a href="errorfunc.constants.html#constant.e-error">E_ERROR</a></code></strong> is emitted
   and execution is stopped. If <span class="function">dl</span> fails because the
   specified library couldn&#039;t be loaded, in addition to <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> an
   <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> message is emitted.
  </p>


name: extension_loaded
purpose: Find out whether an extension is loaded
manual_id: function.extension-loaded
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the extension identified by <code class="parameter">extension</code>
   is loaded, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: gc_enabled
purpose: Returns status of the circular reference collector
manual_id: function.gc-enabled
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the garbage collector is enabled, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: gc_status
purpose: Gets information about the garbage collector
manual_id: function.gc-status
version: PHP 7 >= 7.3.0, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an associative array with the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;runs&quot;</code>
     </span>
    </li> 
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;collected&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;threshold&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;roots&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;running&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;protected&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;full&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;buffer_size&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;application_time&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;collector_time&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;destructor_time&quot;</code>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">&quot;free_time&quot;</code>
     </span>
    </li>
   </ul> 
  </p>


name: get_cfg_var
purpose: Gets the value of a PHP configuration option
manual_id: function.get-cfg-var
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the current value of the PHP configuration variable specified by
   <code class="parameter">option</code>, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurs.
  </p>


name: get_defined_constants
purpose: Returns an associative array with the names of all the constants and their values
manual_id: function.get-defined-constants
version: PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an array of constant name =&gt; constant value array, optionally
   groupped by extension name registering the constant.
  </p>


name: get_extension_funcs
purpose: Returns an array with the names of the functions of a module
manual_id: function.get-extension-funcs
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an array with all the functions, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if 
   <code class="parameter">extension</code> is not a valid extension.
  </p>


name: get_include_path
purpose: Gets the current include_path configuration option
manual_id: function.get-include-path
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the path, as a string,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: get_included_files
purpose: Returns an array with the names of included or required files
manual_id: function.get-included-files
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an array of the names of all files.
  </p>
  <p class="para">
   The script originally called is considered an &quot;included file,&quot; so it will
   be listed together with the files referenced by 
   <span class="function">include</span> and family.
  </p>
  <p class="para">
   Files that are included or required multiple times only show up once in
   the returned array.
  </p>


name: get_magic_quotes_gpc
purpose: Gets the current configuration setting of magic_quotes_gpc
manual_id: function.get-magic-quotes-gpc
version: PHP 4, PHP 5, PHP 7
return_type: false
return_description:
<p class="para">
   Always returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: get_resources
purpose: Returns active resources
manual_id: function.get-resources
version: PHP 7, PHP 8
return_type: resource
return_description:
<p class="para">
   Returns an <span class="type">array</span> of currently active resources, indexed by
   resource number.
  </p>


name: getenv
purpose: Gets the value of a single or all environment variables
manual_id: function.getenv
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the value of the environment variable
   <code class="parameter">name</code>, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the environment
   variable <code class="parameter">name</code> does not exist.
   If <code class="parameter">name</code> is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>, all environment variables are
   returned as an associative <span class="type">array</span>.
  </p>


name: getlastmod
purpose: Gets time of last page modification
manual_id: function.getlastmod
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the time of the last modification of the current
   page. The value returned is a Unix timestamp, suitable for
   feeding to <span class="function">date</span>. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: getmygid
purpose: Get PHP script owner's GID
manual_id: function.getmygid
version: PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the group ID of the current script, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: getmyinode
purpose: Gets the inode of the current script
manual_id: function.getmyinode
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the current script&#039;s inode as an integer, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: getmypid
purpose: Gets PHP's process ID
manual_id: function.getmypid
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the current PHP process ID, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: getmyuid
purpose: Gets PHP script owner's UID
manual_id: function.getmyuid
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the user ID of the current script, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: getopt
purpose: Gets options from the command line argument list
manual_id: function.getopt
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   This function will return an array of option / argument pairs,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    The parsing of options will end at the first non-option found, anything
    that follows is discarded.
   </p>
  </p></blockquote>


name: getrusage
purpose: Gets the current resource usages
manual_id: function.getrusage
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an associative array containing the data returned from the system
   call. All entries are accessible by using their documented field names.
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ini_get_all
purpose: Gets all configuration options
manual_id: function.ini-get-all
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an associative array with directive name as the array key.
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> and raises an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error
   if the <code class="parameter">extension</code> doesn&#039;t exist.
  </p>
  <p class="para">
   When <code class="parameter">details</code> is <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> (default) the array will
   contain <code class="literal">global_value</code> (set in
   <var class="filename">php.ini</var>), <code class="literal">local_value</code> (perhaps set with
   <span class="function">ini_set</span> or <var class="filename">.htaccess</var>), and
   <code class="literal">access</code> (the access level).
  </p>
  <p class="para">
   When <code class="parameter">details</code> is <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> the value will be the
   current value of the option.
  </p>
  <p class="para">
   See the <a href="configuration.changes.modes.html" class="link">manual section</a>
   for information on what access levels mean.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    It&#039;s possible for a directive to have multiple access levels, which is
    why <code class="literal">access</code> shows the appropriate bitmask values.
   </p>
  </p></blockquote>


name: ini_get
purpose: Gets the value of a configuration option
manual_id: function.ini-get
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the value of the configuration option as a string on success, or an
   empty string for <code class="literal">null</code> values. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the
   configuration option doesn&#039;t exist.
  </p>


name: ini_parse_quantity
purpose: Get interpreted size from ini shorthand syntax
manual_id: function.ini-parse-quantity
version: PHP 8 >= 8.2.0
return_type: int
return_description:
<p class="para">
   Returns the interpreted size in bytes as an <span class="type">int</span>.
  </p>

errors:
<p class="para">
   If the value cannot be parsed, or an invalid multiplier is used, an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> is raised.
  </p>


name: ini_set
purpose: Sets the value of a configuration option
manual_id: function.ini-set
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the old value on success, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: php_ini_loaded_file
purpose: Retrieve a path to the loaded php.ini file
manual_id: function.php-ini-loaded-file
version: PHP 5 >= 5.2.4, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The loaded <var class="filename">php.ini</var> path, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if one is not loaded.
  </p>


name: php_ini_scanned_files
purpose: Return a list of .ini files parsed from the additional ini dir
manual_id: function.php-ini-scanned-files
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a comma-separated string of .ini files on success. Each comma is
   followed by a newline. If the configure directive <strong class="option configure">--with-config-file-scan-dir</strong> wasn&#039;t set and the
   <var class="varname">PHP_INI_SCAN_DIR</var> environment variable isn&#039;t set, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>
   is returned.  If it was set and the directory was empty, an empty string is
   returned.  If a file is unrecognizable, the file will still make it into
   the returned string but a PHP error will also result.  This PHP error will
   be seen both at compile time and while using
   <span class="function">php_ini_scanned_files</span>.
  </p>


name: php_sapi_name
purpose: Returns the type of interface between web server and PHP
manual_id: function.php-sapi-name
version: PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the interface type, as a lowercase string,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   Although not exhaustive, the possible return values include 
   <code class="literal">apache</code>, 
   <code class="literal">apache2handler</code>, 
   <code class="literal">cgi</code> (until PHP 5.3), 
   <code class="literal">cgi-fcgi</code>, <code class="literal">cli</code>, <code class="literal">cli-server</code>,
   <code class="literal">embed</code>, <code class="literal">fpm-fcgi</code>,
   <code class="literal">litespeed</code>, 
   <code class="literal">phpdbg</code>.
  </p>


name: phpversion
purpose: Gets the current PHP version
manual_id: function.phpversion
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the current PHP version as a <span class="type">string</span>.
   If a <span class="type">string</span> argument is provided for
   <code class="parameter">extension</code> parameter, <span class="function">phpversion</span>
   returns the version of that extension, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there is no version
   information associated or the extension isn&#039;t enabled.
  </p>


name: set_include_path
purpose: Sets the include_path configuration option
manual_id: function.set-include-path
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the old <a href="ini.core.html#ini.include-path" class="link">include_path</a> on
   success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: set_time_limit
purpose: Limits the maximum execution time
manual_id: function.set-time-limit
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: version_compare
purpose: Compares two "PHP-standardized" version number strings
manual_id: function.version-compare
version: PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   By default, <span class="function">version_compare</span> returns
   <code class="literal">-1</code> if the first version is lower than the second,
   <code class="literal">0</code> if they are equal, and
   <code class="literal">1</code> if the second is lower.
  </p>
  <p class="para">
   When using the optional <code class="parameter">operator</code> argument, the
   function will return <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the relationship is the one specified
   by the operator, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: phpdbg_exec
purpose: Attempts to set the execution context
manual_id: function.phpdbg-exec
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   If the execution context was set previously it is returned.
   If the execution context was not set previously <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> is returned.
   If the request to set the context fails, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> is returned, and an
   <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> raised.
  </p>


name: runkit7_function_add
purpose: Add a new function, similar to create_function
manual_id: function.runkit7-function-add
version: PECL runkit7 >= Unknown
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
   
  </p>


name: runkit7_object_id
purpose: Return the integer object handle for given object
manual_id: function.runkit7-object-id
version: PECL runkit7 >= Unknown
return_type: int
return_description:
<p class="para">
   An integer identifier that is unique for each currently existing object and
   is always the same for each object.
  </p>


name: runkit7_superglobals
purpose: Return numerically indexed array of registered superglobals
manual_id: function.runkit7-superglobals
version: PECL runkit7 >= Unknown
return_type: array
return_description:
<p class="para">
   Returns a numerically indexed array of the currently registered superglobals.
   i.e. _GET, _POST, _REQUEST, _COOKIE, _SESSION, _SERVER, _ENV, _FILES
  </p>


name: runkit7_zval_inspect
purpose: Returns information about the passed in value with data types, reference counts, etc
manual_id: function.runkit7-zval-inspect
version: PECL runkit7 >= Unknown
return_type: array
return_description:
<p class="para">
   The array returned by this function contains the following elements:
   <ul class="simplelist">
    <li><code class="literal">address</code></li>
    <li><code class="literal">refcount</code> (optional)</li>
    <li><code class="literal">is_ref</code> (optional)</li>
    <li><code class="literal">type</code></li>
   </ul>
  </p>


name: uopz_add_function
purpose: Adds non-existent function or method
manual_id: function.uopz-add-function
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: bool
errors:
<p class="para">
   <span class="function">uopz_add_function</span> throws a <span class="classname">RuntimeException</span>
   if the function or method to add already exists.
  </p>


name: uopz_del_function
purpose: Deletes previously added function or method
manual_id: function.uopz-del-function
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: bool
errors:
<p class="para">
   <span class="function">uopz_del_function</span> throws a <span class="classname">RuntimeException</span>
   if the function or method to delete has not been added by <span class="function">uopz_add_function</span>.
  </p>


name: uopz_extend
purpose: Extend a class at runtime
manual_id: function.uopz-extend
version: PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6, PECL uopz 7 < 7.1.0
return_type: bool
errors:
<p class="simpara">
   As of PHP 7.4.0, <span class="function">uopz_extends</span> throws a <span class="classname">RuntimeException</span>,
   if <a href="book.opcache.html" class="link">OPcache</a> is enabled,
   and the class entry of either <code class="parameter">class</code>
   or <code class="parameter">parent</code> (if it is a trait) is immutable.
  </p>


name: uopz_flags
purpose: Get or set flags on function or class
manual_id: function.uopz-flags
version: PECL uopz 2 >= 2.0.2, PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: int
return_description: <p class="para"> If setting, returns old flags, else returns flags </p>
errors:
<p class="simpara">
   As of PHP 7.4.0, if the parameter <code class="parameter">flags</code> is passed,
   <span class="function">uopz_flags</span> throws a <span class="classname">RuntimeException</span>,
   if <a href="book.opcache.html" class="link">OPcache</a> is enabled,
   and the class entry of <code class="parameter">class</code>
   or the function entry of <code class="parameter">function</code> is immutable.
  </p>


name: uopz_get_exit_status
purpose: Retrieve the last set exit status
manual_id: function.uopz-get-exit-status
version: PECL uopz 5, PECL uopz , PECL uopz 7
return_type: mixed
return_description:
<p class="para">
   This function returns the last exit status, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if <span class="function">exit</span>
   has not been called.
  </p>


name: uopz_get_hook
purpose: Gets previously set hook on function or method
manual_id: function.uopz-get-hook
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: Closure
return_description:
<p class="para">
   Returns the previously set hook on a function or method, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if no hook
   has been set.
  </p>


name: uopz_get_mock
purpose: Get the current mock for a class
manual_id: function.uopz-get-mock
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: mixed
return_description:
<p class="para">
         Either a string containing the name of the mock, or an object,
         or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if no mock has been set.
      </p>


name: uopz_get_property
purpose: Gets value of class or instance property
manual_id: function.uopz-get-property
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: mixed
return_description:
<p class="para">
   Returns the value of the class or instance property, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if the property
   is not defined.
  </p>


name: uopz_get_static
purpose: Gets the static variables from function or method scope
manual_id: function.uopz-get-static
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: array
return_description:
<p class="para">
   Returns an associative <span class="type">array</span> of variable names mapped to their
   current values on success, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if the function or method does not exist.
  </p>


name: uopz_implement
purpose: Implements an interface at runtime
manual_id: function.uopz-implement
version: PECL uopz 1, PECL uopz 2, PECL uopz 5, PECL uopz 6, PECL uopz 7 < 7.1.0
return_type: bool
errors:
<p class="simpara">
   As of PHP 7.4.0, <span class="function">uopz_implements</span> throws a <span class="classname">RuntimeException</span>,
   if <a href="book.opcache.html" class="link">OPcache</a> is enabled,
   and the class entry of <code class="parameter">class</code> is immutable.
  </p>


name: uopz_unset_mock
purpose: Unset previously set mock
manual_id: function.uopz-unset-mock
version: PECL uopz 5, PECL uopz 6, PECL uopz 7
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<p class="para">
   A <span class="classname">RuntimeException</span> is thrown, if no mock was previously
   set for <code class="parameter">class</code>.
  </p>


name: wincache_fcache_fileinfo
purpose: Retrieves information about files cached in the file cache
manual_id: function.wincache-fcache-fileinfo
version: PECL wincache >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array of meta data about file cache  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_cache_uptime</code> - total time in seconds that the file cache has been active
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_file_count</code> - total number of files that are currently in the file cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_hit_count</code> - number of times the files have been served from the file cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_miss_count</code> - number of times the files have not been found in the file cache
     </span>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">file_entries</code> - an array that contains the information about all the cached files:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         <code class="literal">file_name</code> - absolute file name of the cached file
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">add_time</code> - time in seconds since the file has been added to the file cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">use_time</code> - time in seconds since the file has been accessed in the file cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">last_check</code> - time in seconds since the file has been checked for modifications
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">hit_count</code> - number of times the file has been served from the cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">file_size</code> - size of the cached file in bytes
        </span>
       </li>
      </ul>
     </p>
    </li>
   </ul>
  </p>


name: wincache_fcache_meminfo
purpose: Retrieves information about file cache memory usage
manual_id: function.wincache-fcache-meminfo
version: PECL wincache >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array of meta data about file cache memory usage  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_total</code> - amount of memory in bytes allocated for the file cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_free</code> - amount of free memory in bytes available for the file cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_used_blks</code> - number of memory blocks used by the file cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_free_blks</code> - number of free memory blocks available for the file cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_overhead</code> - amount of memory in bytes used for the file cache internal structures
     </span>
    </li>
   </ul>
  </p>


name: wincache_ocache_fileinfo
purpose: Retrieves information about files cached in the opcode cache
manual_id: function.wincache-ocache-fileinfo
version: PECL wincache >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array of meta data about opcode cache  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_cache_uptime</code> - total time in seconds that the opcode cache has been active
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_file_count</code> - total number of files that are currently in the opcode cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_hit_count</code> - number of times the compiled opcode have been served from the cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_miss_count</code> - number of times the compiled opcode have not been found in the cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">is_local_cache</code> - true is the cache metadata is for a local cache instance, 
       false if the metadata is for the global cache
     </span>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">file_entries</code> - an array that contains the information about all the cached files:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         <code class="literal">file_name</code> - absolute file name of the cached file
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">add_time</code> - time in seconds since the file has been added to the opcode cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">use_time</code> - time in seconds since the file has been accessed in the opcode cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">last_check</code> - time in seconds since the file has been checked for modifications
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">hit_count</code> - number of times the file has been served from the cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">function_count</code> - number of functions in the cached file
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">class_count</code> - number of classes in the cached file
        </span>
       </li>
      </ul>
     </p>
    </li>
   </ul>
  </p>


name: wincache_ocache_meminfo
purpose: Retrieves information about opcode cache memory usage
manual_id: function.wincache-ocache-meminfo
version: PECL wincache >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array of meta data about opcode cache memory usage  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_total</code> - amount of memory in bytes allocated for the opcode cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_free</code> - amount of free memory in bytes available for the opcode cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_used_blks</code> - number of memory blocks used by the opcode cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_free_blks</code> - number of free memory blocks available for the opcode cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_overhead</code> - amount of memory in bytes used for the opcode cache internal structures
     </span>
    </li>
   </ul>
  </p>
  <div class="warning"><strong class="warning">Warning</strong><p class="simpara">This function was
<em>REMOVED</em> in PHP 7.0.0.</p></div>


name: wincache_rplist_fileinfo
purpose: Retrieves information about resolve file path cache
manual_id: function.wincache-rplist-fileinfo
version: PECL wincache >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array of meta data about the resolve file path cache  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_file_count</code> - total number of file path 
       mappings stored in the cache
     </span>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">rplist_entries</code> - an array that contains the information about all 
       the cached file paths:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         <code class="literal">resolve_path</code> - path to a file
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">subkey_data</code> - corresponding absolute path to a file
        </span>
       </li>
      </ul>
     </p>
    </li>
   </ul>
  </p>


name: wincache_rplist_meminfo
purpose: Retrieves information about memory usage by the resolve file path cache
manual_id: function.wincache-rplist-meminfo
version: PECL wincache >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array of meta data that describes memory usage by resolve file path cache.  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_total</code> - amount of memory in bytes allocated for the resolve file path cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_free</code> - amount of free memory in bytes available for the resolve file path cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_used_blks</code> - number of memory blocks used by the resolve file path cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_free_blks</code> - number of free memory blocks available for the resolve file path cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_overhead</code> - amount of memory in bytes used for the internal structures of resolve file path cache
     </span>
    </li>
   </ul>
  </p>


name: wincache_scache_info
purpose: Retrieves information about files cached in the session cache
manual_id: function.wincache-scache-info
version: PECL wincache >= 1.1.0
return_type: false
return_description:
<p class="para">
   Array of meta data about session cache  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
    <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_cache_uptime</code> - total time in seconds that the session cache has been active
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_item_count</code> - total number of elements that are currently in the session cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">is_local_cache</code> - true is the cache metadata is for a local cache instance, 
       false if the metadata is for the global cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_hit_count</code> - number of times the data has been served from the cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_miss_count</code> - number of times the data has not been found in the cache
     </span>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">scache_entries</code> - an array that contains the information about all the cached items:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         <code class="literal">key_name</code> - name of the key which is used to store the data
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">value_type</code> - type of value stored by the key
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">use_time</code> - time in seconds since the file has been accessed in the opcode cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">last_check</code> - time in seconds since the file has been checked for modifications
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">ttl_seconds</code> - time remaining for the data to live in the cache, 0 meaning infinite
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">age_seconds</code> - time elapsed from the time data has been added in the cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">hitcount</code> - number of times data has been served from the cache
        </span>
       </li>
      </ul>
     </p>
    </li>
   </ul>
  </p>


name: wincache_scache_meminfo
purpose: Retrieves information about session cache memory usage
manual_id: function.wincache-scache-meminfo
version: PECL wincache >= 1.1.0
return_type: false
return_description:
<p class="para">
   Array of meta data about session cache memory usage  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_total</code> - amount of memory in bytes allocated for the session cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_free</code> - amount of free memory in bytes available for the session cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_used_blks</code> - number of memory blocks used by the session cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_free_blks</code> - number of free memory blocks available for the session cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_overhead</code> - amount of memory in bytes used for the session cache internal structures
     </span>
    </li>
   </ul>
  </p>


name: wincache_ucache_add
purpose: Adds a variable in user cache only if variable does not already exist in the cache
manual_id: function.wincache-ucache-add
version: PECL wincache >= 1.1.0
return_type: bool
return_description:
<p class="simpara">
   If <code class="parameter">key</code> is string, the function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   If <code class="parameter">key</code> is an array, the function returns:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      If all the name =&gt; value pairs in the array can be set, function returns an empty array;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
     If all the name =&gt; value pairs in the array cannot be set, function returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>;
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      If some can be set while others cannot, function returns an array with name=&gt;value pair for which the addition failed in the user cache.
     </span>
    </li>
   </ul>
  </p>


name: wincache_ucache_dec
purpose: Decrements the value associated with the key
manual_id: function.wincache-ucache-dec
version: PECL wincache >= 1.1.0
return_type: mixed
return_description:
<p class="simpara">
   Returns the decremented value on success and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: wincache_ucache_delete
purpose: Deletes variables from the user cache
manual_id: function.wincache-ucache-delete
version: PECL wincache >= 1.1.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   If <code class="parameter">key</code> is an array then the function returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> 
   if every element of the array fails to get deleted from the user cache, otherwise returns an 
   array which consists of all the keys that are deleted.
  </p>


name: wincache_ucache_exists
purpose: Checks if a variable exists in the user cache
manual_id: function.wincache-ucache-exists
version: PECL wincache >= 1.1.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if variable with the <code class="parameter">key</code> exitsts, 
   otherwise returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: wincache_ucache_get
purpose: Gets a variable stored in the user cache
manual_id: function.wincache-ucache-get
version: PECL wincache >= 1.1.0
return_type: mixed
return_description:
<p class="simpara">
   If <code class="parameter">key</code> is a string, the function returns the value of the variable stored with that key. 
   The <code class="parameter">success</code> is set to <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success and 
   to <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="simpara">
   The <code class="parameter">key</code> is an array, the parameter <code class="parameter">success</code> 
   is always set to <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>. The returned array (name =&gt; value pairs) will 
   contain only those name =&gt; value pairs for which the get operation in user cache was 
   successful. If none of the keys in the key array finds a match in the user cache 
   an empty array will be returned.
  </p>


name: wincache_ucache_inc
purpose: Increments the value associated with the key
manual_id: function.wincache-ucache-inc
version: PECL wincache >= 1.1.0
return_type: mixed
return_description:
<p class="simpara">
   Returns the incremented value on success and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: wincache_ucache_info
purpose: Retrieves information about data stored in the user cache
manual_id: function.wincache-ucache-info
version: PECL wincache >= 1.1.0
return_type: false
return_description:
<p class="para">
   Array of meta data about user cache  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
    <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_cache_uptime</code> - total time in seconds that the user cache has been active
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_item_count</code> - total number of elements that are currently in the user cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">is_local_cache</code> - true is the cache metadata is for a local cache instance, 
       false if the metadata is for the global cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_hit_count</code> - number of times the data has been served from the cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">total_miss_count</code> - number of times the data has not been found in the cache
     </span>
    </li>
    <li class="listitem">
     <p class="para">
      <code class="literal">ucache_entries</code> - an array that contains the information about all the cached items:
      <ul class="itemizedlist">
       <li class="listitem">
        <span class="simpara">
         <code class="literal">key_name</code> - name of the key which is used to store the data
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">value_type</code> - type of value stored by the key
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">use_time</code> - time in seconds since the file has been accessed in the opcode cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">last_check</code> - time in seconds since the file has been checked for modifications
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">is_session</code> - indicates if the data is a session variable
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">ttl_seconds</code> - time remaining for the data to live in the cache, 0 meaning infinite
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">age_seconds</code> - time elapsed from the time data has been added in the cache
        </span>
       </li>
       <li class="listitem">
        <span class="simpara">
         <code class="literal">hitcount</code> - number of times data has been served from the cache
        </span>
       </li>
      </ul>
     </p>
    </li>
   </ul>
  </p>


name: wincache_ucache_meminfo
purpose: Retrieves information about user cache memory usage
manual_id: function.wincache-ucache-meminfo
version: PECL wincache >= 1.1.0
return_type: false
return_description:
<p class="para">
   Array of meta data about user cache memory usage  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>
  <p class="para">
   The array returned by this function contains the following elements:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_total</code> - amount of memory in bytes allocated for the user cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_free</code> - amount of free memory in bytes available for the user cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_used_blks</code> - number of memory blocks used by the user cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">num_free_blks</code> - number of free memory blocks available for the user cache
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">memory_overhead</code> - amount of memory in bytes used for the user cache internal structures
     </span>
    </li>
   </ul>
  </p>


name: xhprof_enable
purpose: Start xhprof profiler
manual_id: function.xhprof-enable
version: PECL xhprof >= 0.9.0
return_type: void
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>
  </p>


name: Yac.add
purpose: Store into cache
manual_id: yac.add
version: PECL yac >= 1.0.0
return_type: bool
return_description:
<p class="para">
   <span class="type">bool</span>, <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure 
   <blockquote class="note"><p><strong class="note">Note</strong>: 
    <p class="para">
      <span class="methodname">Yac::add</span> may fail if cas lock could not obtain,
     so, if you need the value to be stored properly, you may write codes like:
     <div class="example" id="example-2">
      <p><strong>Example # Make sure the item is stored</strong></p>
      <div class="example-contents">
       <div class="phpcode"><code><span style="color: #000000">while(!$yac-&gt;set("key", "vale));</span></code></div>
      </div>
 
     </div>
    </p>
   </p></blockquote>
  </p>


name: Yac.__construct
purpose: Constructor
manual_id: yac.construct
version: PECL yac >= 1.0.0
errors:
<p class="para">
   Throws an <span class="classname">Exception</span> if Yac is not enabled. Throws 
   <span class="classname">Exception</span> if <code class="parameter">prefix</code> exceeds 
   max key length of 48 (<strong><code><a href="yac.constants.html#constant.yac-max-key-len">YAC_MAX_KEY_LEN</a></code></strong>) bytes.
  </p>


name: Yac.__get
purpose: Getter
manual_id: yac.getter
version: PECL yac >= 1.0.0
return_type: mixed
return_description:
<p class="para">
   mixed on success, <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure
  </p>


name: Yac.info
purpose: Status of cache
manual_id: yac.info
version: PECL yac >= 1.0.0
return_type: array
return_description:
<p class="para">
   Return an array, consistent with:
   &quot;memory_size&quot;, &quot;slots_memory_size&quot;, &quot;values_memory_size&quot;, &quot;segment_size&quot;, &quot;segment_num&quot;,
   &quot;miss&quot;, &quot;hits&quot;, &quot;fails&quot;, &quot;kicks&quot;, &quot;recycles&quot;, &quot;slots_size&quot;, &quot;slots_used&quot;
  </p>


name: openal_buffer_create
purpose: Generate OpenAL buffer
manual_id: function.openal-buffer-create
version: PECL openal >= 0.1.0
return_type: resource
return_description:
<p class="para">
   Returns an <a href="openal.resources.html" class="link">Open AL(Buffer)</a> resource on success or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_buffer_get
purpose: Retrieve an OpenAL buffer property
manual_id: function.openal-buffer-get
version: PECL openal >= 0.1.0
return_type: false
return_description:
<p class="para">
   Returns an integer value appropriate to the <code class="parameter">property</code>
   requested or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_context_create
purpose: Create an audio processing context
manual_id: function.openal-context-create
version: PECL openal >= 0.1.0
return_type: resource
return_description:
<p class="para">
   Returns an <a href="openal.resources.html" class="link">Open AL(Context)</a> resource on success or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_device_open
purpose: Initialize the OpenAL audio layer
manual_id: function.openal-device-open
version: PECL openal >= 0.1.0
return_type: resource
return_description:
<p class="para">
   Returns an <a href="openal.resources.html" class="link">Open AL(Device)</a> resource on success or 
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_listener_get
purpose: Retrieve a listener property
manual_id: function.openal-listener-get
version: PECL openal >= 0.1.0
return_type: mixed
return_description:
<p class="para">
   Returns a float or array of floats (as appropriate) or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_source_create
purpose: Generate a source resource
manual_id: function.openal-source-create
version: PECL openal >= 0.1.0
return_type: resource
return_description:
<p class="para">
   Returns an <a href="openal.resources.html" class="link">Open AL(Source)</a> resource on success or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_source_get
purpose: Retrieve an OpenAL source property
manual_id: function.openal-source-get
version: PECL openal >= 0.1.0
return_type: mixed
return_description:
<p class="para">
   Returns the type associated with the property being retrieved
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openal_stream
purpose: Begin streaming on a source
manual_id: function.openal-stream
version: PECL openal >= 0.1.0
return_type: false
return_description:
<p class="para">
   Returns a stream resource on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: radius_acct_open
purpose: Creates a Radius handle for accounting
manual_id: function.radius-acct-open
version: PECL radius >= 1.1.0
return_type: resource
return_description:
<p class="para">
   Returns a handle on success, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error. This function only fails if
   insufficient memory is available.
  </p>


name: radius_demangle_mppe_key
purpose: Derives mppe-keys from mangled data
manual_id: function.radius-demangle-mppe-key
version: PECL radius >= 1.2.0
return_type: string
return_description:
<p class="para">
   Returns the demangled string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: radius_get_attr
purpose: Extracts an attribute
manual_id: function.radius-get-attr
version: PECL radius >= 1.1.0
return_type: mixed
return_description:
<p class="para">
   Returns an associative array containing the attribute-type and the data, or
   error number &lt;= 0.
  </p>


name: radius_get_tagged_attr_data
purpose: Extracts the data from a tagged attribute
manual_id: function.radius-get-tagged-attr-data
version: PECL radius >= 1.3.0
return_type: false
return_description:
<p class="para">
   Returns the data from the tagged attribute  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: radius_get_tagged_attr_tag
purpose: Extracts the tag from a tagged attribute
manual_id: function.radius-get-tagged-attr-tag
version: PECL radius >= 1.3.0
return_type: false
return_description:
<p class="para">
   Returns the tag from the tagged attribute  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: radius_get_vendor_attr
purpose: Extracts a vendor specific attribute
manual_id: function.radius-get-vendor-attr
version: PECL radius >= 1.1.0
return_type: array
return_description:
<p class="para">
   Returns an associative array containing the attribute-type, vendor and the
   data, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: radius_request_authenticator
purpose: Returns the request authenticator
manual_id: function.radius-request-authenticator
version: PECL radius >= 1.1.0
return_type: string
return_description:
<p class="para">
   Returns the request authenticator as string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: radius_salt_encrypt_attr
purpose: Salt-encrypts a value
manual_id: function.radius-salt-encrypt-attr
version: PECL radius >= 1.3.0
return_type: false
return_description:
<p class="para">
   Returns the salt-encrypted data  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: radius_send_request
purpose: Sends the request and waits for a reply
manual_id: function.radius-send-request
version: PECL radius >= 1.1.0
return_type: int
return_description:
<p class="para">
   If a valid response is received, <span class="function">radius_send_request</span>
   returns the Radius code which specifies the type of the response. This will
   typically be <strong><code><a href="radius.constants.packets.html#constant.radius-access-accept">RADIUS_ACCESS_ACCEPT</a></code></strong>,
   <strong><code><a href="radius.constants.packets.html#constant.radius-access-reject">RADIUS_ACCESS_REJECT</a></code></strong>, or
   <strong><code><a href="radius.constants.packets.html#constant.radius-access-challenge">RADIUS_ACCESS_CHALLENGE</a></code></strong>. If no valid response is
   received, <span class="function">radius_send_request</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: radius_server_secret
purpose: Returns the shared secret
manual_id: function.radius-server-secret
version: PECL radius >= 1.1.0
return_type: string
return_description:
<p class="para">
   Returns the server&#039;s shared secret as string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: readline_callback_handler_remove
purpose: Removes a previously installed callback handler and restores terminal settings
manual_id: function.readline-callback-handler-remove
version: PHP 5 >= 5.1.0, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if a previously installed callback handler was removed, or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if one could not be found.
  </p>


name: readline_info
purpose: Gets/sets various internal readline variables
manual_id: function.readline-info
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: mixed
return_description:
<p class="para">
   If called with no parameters, this function returns an array of
   values for all the settings readline uses.  The elements will
   be indexed by the following values: <code class="literal">done</code>, <code class="literal">end</code>, <code class="literal">erase_empty_line</code>,
   <code class="literal">library_version</code>, <code class="literal">line_buffer</code>, <code class="literal">mark</code>, <code class="literal">pending_input</code>, <code class="literal">point</code>, <code class="literal">prompt</code>,
   <code class="literal">readline_name</code>, and <code class="literal">terminal_name</code>.
   The <span class="type">array</span> will only contain those elements which are supported by the library
   used to built the readline extension.
  </p>
  <p class="para">
   If called with one or two parameters, the old value is returned.
  </p>


name: readline_list_history
purpose: Lists the history
manual_id: function.readline-list-history
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an array of the entire command line history.  The elements are
   indexed by integers starting at zero.
  </p>


name: readline
purpose: Reads a line
manual_id: function.readline
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a single string from the user. The line returned has the ending
   newline removed.
   If there is no more data to read, then <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> is returned.
  </p>


name: bzdecompress
purpose: Decompresses bzip2 encoded data
manual_id: function.bzdecompress
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The decompressed string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> or an error number if an error occurred.
  </p>


name: bzerror
purpose: Returns the bzip2 error number and error string in an array
manual_id: function.bzerror
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an associative array, with the error code in the 
   <code class="literal">errno</code> entry, and the error message in the
   <code class="literal">errstr</code> entry.
  </p>


name: bzopen
purpose: Opens a bzip2 compressed file
manual_id: function.bzopen
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   If the open fails, <span class="function">bzopen</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, otherwise
   it returns a pointer to the newly opened file.
  </p>


name: bzread
purpose: Binary safe bzip2 file read
manual_id: function.bzread
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the uncompressed data, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: bzwrite
purpose: Binary safe bzip2 file write
manual_id: function.bzwrite
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the number of bytes written, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: lzf_compress
purpose: LZF compression
manual_id: function.lzf-compress
version: PECL lzf >= 0.1.0
return_type: string
return_description:
<p class="para">
   Returns the compressed data or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurred.
  </p>


name: lzf_decompress
purpose: LZF decompression
manual_id: function.lzf-decompress
version: PECL lzf >= 0.1.0
return_type: string
return_description:
<p class="para">
   Returns the decompressed data or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurred.
  </p>


name: Phar.apiVersion
purpose: Returns the api version
manual_id: phar.apiversion
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: string
return_description:
<p class="para">
   The API version string as in <code class="literal">&quot;1.0.0&quot;</code>.
  </p>


name: Phar.buildFromDirectory
purpose: Construct a phar archive from the files within a directory
manual_id: phar.buildfromdirectory
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: array
return_description:
<p class="para">
   <span class="function">Phar::buildFromDirectory</span> returns an associative array
   mapping internal path of file to the full path of the file on the
   filesystem.
  </p>

errors:
<p class="para">
   This method throws <span class="classname">BadMethodCallException</span> when unable
   to instantiate the internal directory iterators,
   or a <span class="classname">PharException</span> if there were errors
   saving the phar archive.
  </p>


name: Phar.buildFromIterator
purpose: Construct a phar archive from an iterator
manual_id: phar.buildfromiterator
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: array
return_description:
<p class="para">
   <span class="function">Phar::buildFromIterator</span> returns an associative array
   mapping internal path of file to the full path of the file on the
   filesystem.
  </p>

errors:
<p class="para">
   This method returns <span class="classname">UnexpectedValueException</span> when the
   iterator returns incorrect values, such as an integer key instead of a
   string, a <span class="classname">BadMethodCallException</span> when an
   SplFileInfo-based iterator is passed without a <code class="parameter">baseDirectory</code>
   parameter, or a <span class="classname">PharException</span> if there were errors
   saving the phar archive.
  </p>


name: Phar.canCompress
purpose: Returns whether phar extension supports compression using either zlib or bzip2
manual_id: phar.cancompress
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if compression/decompression is available, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: Phar.canWrite
purpose: Returns whether phar extension supports writing and creating phars
manual_id: phar.canwrite
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if write access is enabled, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it is disabled.
  </p>


name: Phar.compress
purpose: Compresses the entire Phar archive using Gzip or Bzip2 compression
manual_id: phar.compress
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: null
return_description:
<p class="para">
   Returns a <span class="classname">Phar</span> object, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   the <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a>
   INI variable is on, the <a href="ref.zlib.html" class="link">zlib</a>
   extension is not available, or the <a href="ref.bzip2.html" class="link">bzip2</a> extension
   is not enabled.
  </p>


name: Phar.compressFiles
purpose: Compresses all files in the current Phar archive
manual_id: phar.compressfiles
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   the <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a>
   INI variable is on, the <a href="ref.zlib.html" class="link">zlib</a>
   extension is not available, or if any files are compressed using
   bzip2 compression and the <a href="ref.bzip2.html" class="link">bzip2</a> extension
   is not enabled.
  </p>


name: Phar.__construct
purpose: Construct a Phar archive object
manual_id: phar.construct
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if called twice, <span class="classname">UnexpectedValueException</span>
   if the phar archive can&#039;t be opened.
  </p>


name: Phar.convertToData
purpose: Convert a phar archive to a non-executable tar or zip file
manual_id: phar.converttodata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: null
return_description:
<p class="para">
   The method returns a <span class="classname">PharData</span> object on success,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   This method throws <span class="classname">BadMethodCallException</span> when unable
   to compress, an unknown compression method has been specified, the requested
   archive is buffering with <span class="function">Phar::startBuffering</span> and
   has not concluded with <span class="function">Phar::stopBuffering</span>, 
   and a <span class="classname">PharException</span> if any problems are encountered
   during the phar creation process.
  </p>


name: Phar.convertToExecutable
purpose: Convert a phar archive to another executable phar archive file format
manual_id: phar.converttoexecutable
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: null
return_description:
<p class="para">
   The method returns a <span class="classname">Phar</span> object on success,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   This method throws <span class="classname">BadMethodCallException</span> when unable
   to compress, an unknown compression method has been specified, the requested
   archive is buffering with <span class="function">Phar::startBuffering</span> and
   has not concluded with <span class="function">Phar::stopBuffering</span>, an
   <span class="classname">UnexpectedValueException</span> if write support is disabled,
   and a <span class="classname">PharException</span> if any problems are encountered
   during the phar creation process.
  </p>


name: Phar.copy
purpose: Copy a file internal to the phar archive to another new file within the phar
manual_id: phar.copy
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success, but it is safer to encase method call in a
   try/catch block and assume success if no exception is thrown.
  </p>

errors:
<p class="para">
   throws <span class="classname">UnexpectedValueException</span> if the source file does not
   exist, the destination file already exists, write access is disabled, opening either
   file fails, reading the source file fails, or a <span class="classname">PharException</span>
   if writing the changes to the phar fails.
  </p>


name: Phar.count
purpose: Returns the number of entries (files) in the Phar archive
manual_id: phar.count
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: int
return_description:
<p class="para">
   The number of files contained within this phar, or <code class="literal">0</code> (the number zero)
   if none.
  </p>


name: Phar.createDefaultStub
purpose: Create a phar-file format specific stub
manual_id: phar.createdefaultstub
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: string
return_description:
<p class="para">
   Returns a string containing the contents of a customized bootstrap loader (stub)
   that allows the created Phar archive to work with or without the Phar extension
   enabled.
  </p>

errors:
<p class="para">
   Throws <span class="classname">UnexpectedValueException</span> if either parameter is longer
   than 400 bytes.
  </p>


name: Phar.decompress
purpose: Decompresses the entire Phar archive
manual_id: phar.decompress
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: null
return_description:
<p class="para">
   A <span class="classname">Phar</span> object is returned on success, and <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   the <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a>
   INI variable is on, the <a href="ref.zlib.html" class="link">zlib</a>
   extension is not available, or the <a href="ref.bzip2.html" class="link">bzip2</a> extension
   is not enabled.
  </p>


name: Phar.delMetadata
purpose: Deletes the global metadata of the phar
manual_id: phar.delmetadata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0
return_type: bool
return_description:
<p class="para">
   returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success, but it is better to check for thrown exception,
   and assume success if none is thrown.
  </p>

errors:
<p class="para">
   Throws <span class="classname">PharException</span> if errors occur while flushing
   changes to disk.
  </p>


name: Phar.getAlias
purpose: Get the alias for Phar
manual_id: phar.getalias
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.1
return_type: null
return_description:
<p class="para">
   Returns the alias or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if there&#039;s no alias.
  </p>


name: Phar.getMetadata
purpose: Returns phar archive meta-data
manual_id: phar.getmetadata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: mixed
return_description:
<p class="para">
   Any PHP value that can be serialized and is stored as meta-data for the Phar archive,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if no meta-data is stored.
  </p>


name: Phar.getModified
purpose: Return whether phar was modified
manual_id: phar.getmodified
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the phar has been modified since opened, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: Phar.getSignature
purpose: Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
manual_id: phar.getsignature
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: false
return_description:
<p class="para">
   Array with the opened archive&#039;s signature in <code class="literal">hash</code> key and <code class="literal">MD5</code>,
   <code class="literal">SHA-1</code>,
   <code class="literal">SHA-256</code>, <code class="literal">SHA-512</code>, or <code class="literal">OpenSSL</code>
   in <code class="literal">hash_type</code>.  This signature is a hash calculated on the
   entire phar&#039;s contents, and may be used to verify the integrity of the archive.
   A valid signature is absolutely required of all executable phar archives if the
   <a href="phar.configuration.html#ini.phar.require-hash" class="link">phar.require_hash</a> INI variable
   is set to true.
   If there is no signature, the function returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: Phar.getStub
purpose: Return the PHP loader or bootstrap stub of a Phar archive
manual_id: phar.getstub
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: string
return_description:
<p class="para">
   Returns a string containing the contents of the bootstrap loader (stub) of
   the current Phar archive.
  </p>

errors:
<p class="para">
   Throws <span class="classname">RuntimeException</span> if it is not possible to read
   the stub from the Phar archive.
  </p>


name: Phar.getSupportedCompression
purpose: Return array of supported compression algorithms
manual_id: phar.getsupportedcompression
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0
return_type: array
return_description:
<p class="para">
   Returns an array containing any of <code class="literal">Phar::GZ</code> or
   <code class="literal">Phar::BZ2</code>, depending on the availability of
   the <a href="book.zlib.html" class="link">zlib</a> extension or the
   <a href="book.bzip2.html" class="link">bz2</a> extension.
  </p>


name: Phar.getSupportedSignatures
purpose: Return array of supported signature types
manual_id: phar.getsupportedsignatures
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0
return_type: array
return_description:
<p class="para">
   Returns an array containing any of <code class="literal">MD5</code>, <code class="literal">SHA-1</code>,
   <code class="literal">SHA-256</code>, <code class="literal">SHA-512</code>, or <code class="literal">OpenSSL</code>.
  </p>


name: Phar.getVersion
purpose: Return version info of Phar archive
manual_id: phar.getversion
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: string
return_description:
<p class="para">
   The opened archive&#039;s API version.  This is not to be confused with
   the API version that the loaded phar extension will use to create
   new phars.  Each Phar archive has the API version hard-coded into
   its manifest.  See <a href="phar.fileformat.html" class="link">Phar file format</a>
   documentation for more information.
  </p>


name: Phar.hasMetadata
purpose: Returns whether phar has global meta-data
manual_id: phar.hasmetadata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if meta-data has been set, and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: Phar.interceptFileFuncs
manual_id: phar.interceptfilefuncs
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: void
return_description: <p class="para"> </p>
purpose:
Instructs phar to intercept fopen, file_get_contents, opendir, and all of the stat-related functions


name: Phar.isBuffering
manual_id: phar.isbuffering
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
purpose:
Used to determine whether Phar write operations are being buffered, or are flushing directly to disk

return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the write operations are being buffer, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: Phar.isCompressed
purpose: Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed (.tar.gz/tar.bz and so on)
manual_id: phar.iscompressed
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: false
return_description:
<p class="para">
   <code class="literal">Phar::GZ</code>, <code class="literal">Phar::BZ2</code> or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: Phar.isFileFormat
manual_id: phar.isfileformat
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
purpose:
Returns true if the phar archive is based on the tar/phar/zip file format depending on the parameter

return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the phar archive matches the file format requested by the parameter
  </p>

errors:
<p class="para">
   <span class="classname">PharException</span> is thrown if the parameter is an unknown file
   format specifier.
  </p>


name: Phar.isValidPharFilename
purpose: Returns whether the given filename is a valid phar filename
manual_id: phar.isvalidpharfilename
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the filename is valid, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: Phar.isWritable
purpose: Returns true if the phar archive can be modified
manual_id: phar.iswritable
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the phar archive can be modified
  </p>


name: Phar.loadPhar
purpose: Loads any phar archive with an alias
manual_id: phar.loadphar
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
errors:
<p class="para">
   <span class="classname">PharException</span> is thrown if an alias is passed in and the phar archive
   already has an explicit alias
  </p>


name: Phar.mapPhar
purpose: Reads the currently executed file (a phar) and registers its manifest
manual_id: phar.mapphar
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
errors:
<p class="para">
   <span class="classname">PharException</span> is thrown if not called directly within PHP execution,
   if no __HALT_COMPILER(); token is found in the current source file, or if
   the file cannot be opened for reading.
  </p>


name: Phar.mount
purpose: Mount an external path or file to a virtual location within the phar archive
manual_id: phar.mount
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: void
return_description:
<p class="para">
   No return.  <span class="classname">PharException</span> is thrown on failure.
  </p>

errors:
<p class="para">
   Throws <span class="classname">PharException</span> if any problems occur mounting the path.
  </p>


name: Phar.mungServer
purpose: Defines a list of up to 4 $_SERVER variables that should be modified for execution
manual_id: phar.mungserver
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: void
return_description: <p class="para"> No return. </p>
errors:
<p class="para">
   Throws <span class="classname">UnexpectedValueException</span> if any problems are
   found with the passed in data.
  </p>


name: Phar.offsetExists
purpose: Determines whether a file exists in the phar
manual_id: phar.offsetexists
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the file exists within the phar, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: Phar.offsetGet
purpose: Gets a PharFileInfo object for a specific file
manual_id: phar.offsetget
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: SplFileInfo
return_description:
<p class="para">
   A <span class="classname">PharFileInfo</span> object is returned that can be used to
   iterate over a file&#039;s contents or to retrieve information about the current file.
  </p>

errors:
<p class="para">
   This method throws <span class="classname">BadMethodCallException</span> if the file
   does not exist in the Phar archive.
  </p>


name: Phar.offsetSet
purpose: Set the contents of an internal file to those of an external file
manual_id: phar.offsetset
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: void
return_description: <p class="para"> No return values. </p>
errors:
<p class="para">
   if <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a> is <code class="literal">1</code>,
   <span class="classname">BadMethodCallException</span> is thrown, as modifying a Phar
   is only allowed when phar.readonly is set to <code class="literal">0</code>. Throws
   <span class="classname">PharException</span> if there are any problems flushing
   changes made to the Phar archive to disk.
  </p>


name: Phar.setAlias
purpose: Set the alias for the Phar archive
manual_id: phar.setalias
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.1
return_type: bool
return_description: <p class="para"> </p>
errors:
<p class="para">
   Throws <span class="classname">UnexpectedValueException</span> when write access
   is disabled, and <span class="classname">PharException</span> if the alias is
   already in use or any problems were encountered flushing changes to disk.
  </p>


name: Phar.setDefaultStub
purpose: Used to set the PHP loader or bootstrap stub of a Phar archive to the default loader
manual_id: phar.setdefaultstub
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
errors:
<p class="para">
   <span class="classname">UnexpectedValueException</span> is thrown if
   <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a> is enabled
   in php.ini.
   <span class="classname">PharException</span> is thrown if any problems are encountered
   flushing changes to disk.
  </p>


name: Phar.setSignatureAlgorithm
purpose: Set the signature algorithm for a phar and apply it
manual_id: phar.setsignaturealgorithm
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.1.0
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<p class="para">
   Throws <span class="classname">UnexpectedValueException</span> for many errors,
   and a <span class="classname">PharException</span>
   if any problems occur flushing changes to disk.
  </p>


name: Phar.stopBuffering
purpose: Stop buffering write requests to the Phar archive, and save changes to disk
manual_id: phar.stopbuffering
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<p class="para">
   <span class="classname">PharException</span> is thrown if any problems are encountered
   flushing changes to disk.
  </p>


name: Phar.unlinkArchive
purpose: Completely remove a phar archive from disk and from memory
manual_id: phar.unlinkarchive
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
errors:
<p class="para">
   <span class="classname">PharException</span> is thrown if there are any open file pointers to
   the phar archive, or any existing <span class="classname">Phar</span>, <span class="classname">PharData</span>,
   or <span class="classname">PharFileInfo</span> objects referring to the phar archive.
  </p>


name: Phar.webPhar
purpose: Routes a request from a web browser to an internal file within the phar archive
manual_id: phar.webphar
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<p class="para">
   Throws <span class="classname">PharException</span> when unable to open the internal
   file to output, or if
   called from a non-stub.  If an invalid array value is passed into
   <code class="parameter">mimeTypes</code> or an invalid callback is passed into <code class="parameter">rewrite</code>, then
   <span class="classname">UnexpectedValueException</span> is thrown.
  </p>


name: PharData.buildFromDirectory
purpose: Construct a tar/zip archive from the files within a directory
manual_id: phardata.buildfromdirectory
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: array
return_description:
<p class="para">
   <span class="function">Phar::buildFromDirectory</span> returns an associative array
   mapping internal path of file to the full path of the file on the
   filesystem,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   This method throws <span class="classname">BadMethodCallException</span> when unable
   to instantiate the internal directory iterators,
   or a <span class="classname">PharException</span> if there were errors
   saving the phar archive.
  </p>


name: PharData.buildFromIterator
purpose: Construct a tar or zip archive from an iterator
manual_id: phardata.buildfromiterator
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: array
return_description:
<p class="para">
   <span class="function">PharData::buildFromIterator</span> returns an associative array
   mapping internal path of file to the full path of the file on the
   filesystem.
  </p>

errors:
<p class="para">
   This method returns <span class="classname">UnexpectedValueException</span> when the
   iterator returns incorrect values, such as an integer key instead of a
   string, a <span class="classname">BadMethodCallException</span> when an
   SplFileInfo-based iterator is passed without a <code class="parameter">baseDirectory</code>
   parameter, or a <span class="classname">PharException</span> if there were errors
   saving the phar archive.
  </p>


name: PharData.compress
purpose: Compresses the entire tar/zip archive using Gzip or Bzip2 compression
manual_id: phardata.compress
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: null
return_description:
<p class="para">
   A <span class="classname">PharData</span> object is returned on success,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   the <a href="ref.zlib.html" class="link">zlib</a>
   extension is not available, or the <a href="ref.bzip2.html" class="link">bzip2</a> extension
   is not enabled.
  </p>


name: PharData.__construct
purpose: Construct a non-executable tar or zip archive object
manual_id: phardata.construct
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if called twice;
   <span class="classname">UnexpectedValueException</span> if the Phar archive can&#039;t
   be opened.
  </p>


name: PharData.convertToData
purpose: Convert a phar archive to a non-executable tar or zip file
manual_id: phardata.converttodata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: null
return_description:
<p class="para">
   The method returns a <span class="classname">PharData</span> object on success,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   This method throws <span class="classname">BadMethodCallException</span> when unable
   to compress, an unknown compression method has been specified, the requested
   archive is buffering with <span class="function">Phar::startBuffering</span> and
   has not concluded with <span class="function">Phar::stopBuffering</span>, and a
   <span class="classname">PharException</span> if any problems are encountered
   during the phar creation process.
  </p>


name: PharData.decompressFiles
purpose: Decompresses all files in the current zip archive
manual_id: phardata.decompressfiles
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   the <a href="ref.zlib.html" class="link">zlib</a>
   extension is not available, or if any files are compressed using
   bzip2 compression and the <a href="ref.bzip2.html" class="link">bzip2</a> extension
   is not enabled.
  </p>


name: PharData.isWritable
purpose: Returns true if the tar/zip archive can be modified
manual_id: phardata.iswritable
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the tar/zip archive can be modified
  </p>


name: PharData.offsetSet
purpose: Set the contents of a file within the tar/zip to those of an external file or string
manual_id: phardata.offsetset
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: void
return_description: <p class="para"> No return values. </p>
errors:
<p class="para">
   Throws
   <span class="classname">PharException</span> if there are any problems flushing
   changes made to the tar/zip archive to disk.
  </p>


name: PharData.setSignatureAlgorithm
purpose: Set the signature algorithm for a phar and apply it
manual_id: phardata.setsignaturealgorithm
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<p class="para">
   Throws <span class="classname">UnexpectedValueException</span> for many errors,
   <span class="classname">BadMethodCallException</span> if called for a zip- or
   a tar-based phar archive, and a <span class="classname">PharException</span>
   if any problems occur flushing changes to disk.
  </p>


name: PharFileInfo.compress
purpose: Compresses the current Phar entry with either zlib or bzip2 compression
manual_id: pharfileinfo.compress
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0
return_type: bool
errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   the <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a>
   INI variable is on, or if the <a href="ref.bzip2.html" class="link">bzip2</a>/<a href="ref.zlib.html" class="link">zlib</a>
   extension is not available.
  </p>


name: PharFileInfo.__construct
purpose: Construct a Phar entry object
manual_id: pharfileinfo.construct
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if
   <a href="language.oop5.decon.html#object.construct" class="link">__construct()</a> is called twice.
   Throws <span class="classname">UnexpectedValueException</span> if
   the phar URL requested is malformed, the requested
   phar cannot be opened, or the file can&#039;t be found within the phar.
  </p>


name: PharFileInfo.delMetadata
purpose: Deletes the metadata of the entry
manual_id: pharfileinfo.delmetadata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if successful, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the entry had no metadata.
   As with all functionality that modifies the contents of
   a phar, the <a href="phar.configuration.html#ini.phar.readonly" class="link">phar.readonly</a> INI variable
   must be off in order to succeed if the file is within a <span class="classname">Phar</span>
   archive.  Files within <span class="classname">PharData</span> archives do not have
   this restriction.
  </p>

errors:
<p class="para">
   Throws <span class="classname">PharException</span> if errors occurred while flushing
   changes to disk, and <span class="classname">BadMethodCallException</span> if
   write access is disabled.
  </p>


name: PharFileInfo.getCRC32
purpose: Returns CRC32 code or throws an exception if CRC has not been verified
manual_id: pharfileinfo.getcrc32
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: int
return_description:
<p class="para">
   The <span class="function">crc32</span> checksum of the file within the Phar archive.
  </p>

errors:
<p class="para">
   Throws <span class="classname">BadMethodCallException</span> if the file has not
   yet had its CRC32 verified.  This should be impossible with normal use, as
   the CRC is verified upon opening the file for reading or writing.
  </p>


name: PharFileInfo.getMetadata
purpose: Returns file-specific meta-data saved with a file
manual_id: pharfileinfo.getmetadata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: mixed
return_description:
<p class="para">
   any PHP variable that can be serialized and is stored as meta-data for the file,
   or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if no meta-data is stored.
  </p>


name: PharFileInfo.getPharFlags
purpose: Returns the Phar file entry flags
manual_id: pharfileinfo.getpharflags
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: int
return_description:
<p class="para">
   The Phar flags (always <code class="literal">0</code> in the current implementation)
  </p>


name: PharFileInfo.hasMetadata
purpose: Returns the metadata of the entry
manual_id: pharfileinfo.hasmetadata
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if no metadata is set or is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>, <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if metadata is not <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>
  </p>


name: PharFileInfo.isCRCChecked
purpose: Returns whether file entry has had its CRC verified
manual_id: pharfileinfo.iscrcchecked
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the file has had its CRC verified, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: PharFileInfo.isCompressed
purpose: Returns whether the entry is compressed
manual_id: pharfileinfo.iscompressed
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.0.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the file is compressed within the Phar archive, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: RarArchive.getComment
purpose: Get comment text from the RAR archive
manual_id: rararchive.getcomment
version: PECL rar >= 2.0.0
return_type: string
return_description:
<p class="para">
   Returns the comment or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if there is none.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
    <p class="para">
      RAR has currently no support for unicode comments. The encoding of the
      result of this function is not specified, but it will probably be
      Windows-1252.
    </p>
  </p></blockquote>


name: RarArchive.getEntries
purpose: Get full list of entries from the RAR archive
manual_id: rararchive.getentries
version: PECL rar >= 2.0.0
return_type: RarArchive
return_description:
<p class="para">
   <span class="function">rar_list</span> returns array of <span class="type">RarEntry</span> objects
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: RarArchive.getEntry
purpose: Get entry object from the RAR archive
manual_id: rararchive.getentry
version: PECL rar >= 2.0.0
return_type: false
return_description:
<p class="para">
   Returns the matching <span class="type">RarEntry</span> object  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: RarArchive.isBroken
purpose: Test whether an archive is broken (incomplete)
manual_id: rararchive.isbroken
version: PECL rar >= 3.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the archive is broken, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise. This function may also
   return <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the passed file has already been closed. The only way
   to tell the two cases apart is to enable
   exceptions with  <span class="methodname">RarException::setUsingExceptions</span>; however,
   this should be unnecessary as a program should not operate on closed files.
  </p>


name: RarArchive.isSolid
purpose: Check whether the RAR archive is solid
manual_id: rararchive.issolid
version: PECL rar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the archive is solid, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: RarArchive.open
purpose: Open RAR archive
manual_id: rararchive.open
version: PECL rar >= 2.0.0
return_type: RarArchive
return_description:
<p class="para">
   Returns the requested <span class="type">RarArchive</span> instance  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: RarArchive.setAllowBroken
purpose: Whether opening broken archives is allowed
manual_id: rararchive.setallowbroken
version: PECL rar >= 3.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. It will only fail if the file has
   already been closed.
  </p>


name: RarArchive.__toString
purpose: Get text representation
manual_id: rararchive.tostring
version: PECL rar >= 2.0.0
return_type: RarArchive
return_description:
<p class="para">
   A textual representation of this <span class="type">RarArchive</span> object.
   The content of this representation is unspecified.
  </p>


name: RarEntry.getAttr
purpose: Get attributes of the entry
manual_id: rarentry.getattr
version: PECL rar >= 0.1
return_type: int
return_description:
<p class="para">
   Returns the attributes or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getCrc
purpose: Get CRC of the entry
manual_id: rarentry.getcrc
version: PECL rar >= 0.1
return_type: string
return_description:
<p class="para">
   Returns the CRC of the archive entry or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getFileTime
purpose: Get entry last modification time
manual_id: rarentry.getfiletime
version: PECL rar >= 0.1
return_type: string
return_description:
<p class="para">
   Returns entry last modification time as string in format 
   <code class="literal">YYYY-MM-DD HH:II:SS</code>, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getHostOs
purpose: Get entry host OS
manual_id: rarentry.gethostos
version: PECL rar >= 0.1
return_type: int
return_description:
<p class="para">
   Returns the code of the host OS, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getMethod
purpose: Get pack method of the entry
manual_id: rarentry.getmethod
version: PECL rar >= 0.1
return_type: int
return_description:
<p class="para">
   Returns the method number or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getName
purpose: Get name of the entry
manual_id: rarentry.getname
version: PECL rar >= 0.1
return_type: string
return_description:
<p class="para">
   Returns the entry name as a string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getPackedSize
purpose: Get packed size of the entry
manual_id: rarentry.getpackedsize
version: PECL rar >= 0.1
return_type: int
return_description:
<p class="para">
   Returns the packed size, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getStream
purpose: Get file handler for entry
manual_id: rarentry.getstream
version: PECL rar >= 2.0.0
return_type: false
return_description:
<p class="para">
   The file handler  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: RarEntry.getUnpackedSize
purpose: Get unpacked size of the entry
manual_id: rarentry.getunpackedsize
version: PECL rar >= 0.1
return_type: int
return_description:
<p class="para">
   Returns the unpacked size, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.getVersion
purpose: Get minimum version of RAR program required to unpack the entry
manual_id: rarentry.getversion
version: PECL rar >= 0.1
return_type: int
return_description:
<p class="para">
   Returns the version or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: RarEntry.isDirectory
purpose: Test whether an entry represents a directory
manual_id: rarentry.isdirectory
version: PECL rar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this entry is a directory and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: RarEntry.isEncrypted
purpose: Test whether an entry is encrypted
manual_id: rarentry.isencrypted
version: PECL rar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the current entry is encrypted and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: RarException.isUsingExceptions
purpose: Check whether error handling with exceptions is in use
manual_id: rarexception.isusingexceptions
version: PECL rar >= 2.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if exceptions are being used, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: ZipArchive.addGlob
purpose: Add files from a directory by glob pattern
manual_id: ziparchive.addglob
version: PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL zip >= 1.9.0
return_type: false
return_description:
<p class="para">
   An <span class="type">array</span> of added files on success  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>


name: ZipArchive.getArchiveComment
purpose: Returns the Zip archive comment
manual_id: ziparchive.getarchivecomment
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0
return_type: false
return_description:
<p class="para">
   Returns the Zip archive comment or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.getArchiveFlag
purpose: Returns the value of a Zip archive global flag
manual_id: ziparchive.getarchiveflag
version: PHP >= 8.3.0, PECL zip >= 1.22.0
return_type: int
return_description:
<p class="para">
   Returns 1 if flag is set for archive, 0 if not, and -1 if an error occurred.
  </p>


name: ZipArchive.getCommentIndex
purpose: Returns the comment of an entry using the entry index
manual_id: ziparchive.getcommentindex
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.4.0
return_type: false
return_description:
<p class="para">
   Returns the comment on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.getFromIndex
purpose: Returns the entry contents using its index
manual_id: ziparchive.getfromindex
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0
return_type: false
return_description:
<p class="para">
   Returns the contents of the entry on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.getNameIndex
purpose: Returns the name of an entry using its index
manual_id: ziparchive.getnameindex
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0
return_type: false
return_description:
<p class="para">
   Returns the name on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.getStream
purpose: Get a file handler to the entry defined by its name (read only)
manual_id: ziparchive.getstream
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0
return_type: false
return_description:
<p class="para">
   Returns a file pointer (resource) on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.locateName
purpose: Returns the index of the entry in the archive
manual_id: ziparchive.locatename
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0
return_type: false
return_description:
<p class="para">
   Returns the index of the entry on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.open
purpose: Open a ZIP file archive
manual_id: ziparchive.open
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0
return_type: int
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> or one of the following error codes on error:
   <dl>
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-exists">ZipArchive::ER_EXISTS</a></code></strong></dt>
     <dd>
      <span class="simpara">File already exists.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-incons">ZipArchive::ER_INCONS</a></code></strong></dt>
     <dd>
      <span class="simpara">Zip archive inconsistent.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-inval">ZipArchive::ER_INVAL</a></code></strong></dt>
     <dd>
      <span class="simpara">Invalid argument.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-memory">ZipArchive::ER_MEMORY</a></code></strong></dt>
     <dd>
      <span class="simpara">Malloc failure.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-noent">ZipArchive::ER_NOENT</a></code></strong></dt>
     <dd>
      <span class="simpara">No such file.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-nozip">ZipArchive::ER_NOZIP</a></code></strong></dt>
     <dd>
      <span class="simpara">Not a zip archive.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-open">ZipArchive::ER_OPEN</a></code></strong></dt>
     <dd>
      <span class="simpara">Can&#039;t open file.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-read">ZipArchive::ER_READ</a></code></strong></dt>
     <dd>
      <span class="simpara">Read error.</span>
     </dd>
    
    
     <dt><strong><code><a href="zip.constants.html#ziparchive.constants.er-seek">ZipArchive::ER_SEEK</a></code></strong></dt>
     <dd>
      <span class="simpara">Seek error.</span>
     </dd>
    
   </dl>
  </p>


name: ZipArchive.statIndex
purpose: Get the details of an entry defined by its index
manual_id: ziparchive.statindex
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0
return_type: false
return_description:
<p class="para">
   Returns an array containing the entry details or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ZipArchive.statName
purpose: Get the details of an entry defined by its name
manual_id: ziparchive.statname
version: PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.5.0
return_type: false
return_description:
<p class="para">
   Returns an array containing the entry details  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: zip_entry_compressedsize
purpose: Retrieve the compressed size of a directory entry
manual_id: function.zip-entry-compressedsize
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   The compressed size,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: zip_entry_compressionmethod
purpose: Retrieve the compression method of a directory entry
manual_id: function.zip-entry-compressionmethod
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   The compression method,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: zip_entry_filesize
purpose: Retrieve the actual file size of a directory entry
manual_id: function.zip-entry-filesize
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   The size of the directory entry,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: zip_entry_name
purpose: Retrieve the name of a directory entry
manual_id: function.zip-entry-name
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   The name of the directory entry,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: zip_entry_open
purpose: Open a directory entry for reading
manual_id: function.zip-entry-open
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Unlike <span class="function">fopen</span> and other similar functions,
    the return value of <span class="function">zip_entry_open</span> only
    indicates the result of the operation and is not needed for
    reading or closing the directory entry.
   </p>
  </p></blockquote>


name: zip_entry_read
purpose: Read from an open directory entry
manual_id: function.zip-entry-read
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns the data read, empty string on end of a file, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: zip_open
purpose: Open a ZIP file archive
manual_id: function.zip-open
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a resource handle for later use with
   <span class="function">zip_read</span> and <span class="function">zip_close</span>
   or returns either <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> or the number of error if <code class="parameter">filename</code>
   does not exist or in case of other error.
  </p>


name: zip_read
purpose: Read next entry in a ZIP file archive
manual_id: function.zip-read
version: PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a directory entry resource for later use with the
   <code class="literal">zip_entry_...</code> functions, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if
   there are no more entries to read, or an error code if an error
   occurred.
  </p>


name: deflate_add
purpose: Incrementally deflate data
manual_id: function.deflate-add
version: PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a chunk of compressed data,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If invalid arguments are given, an error of level
   <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> is generated.
  </p>


name: deflate_init
purpose: Initialize an incremental deflate context
manual_id: function.deflate-init
version: PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a deflate context resource (<code class="literal">zlib.deflate</code>) on
   success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If an invalid option is passed to <code class="parameter">options</code> or the
   context couldn&#039;t be created, an error of level <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong>
   is generated.
  </p>


name: gzcompress
purpose: Compress a string
manual_id: function.gzcompress
version: PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The compressed string or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurred.
  </p>


name: gzdecode
purpose: Decodes a gzip compressed string
manual_id: function.gzdecode
version: PHP 5 >= 5.4.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The decoded string, or  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   In case of failure, an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error is issued.
  </p>


name: gzdeflate
purpose: Deflate a string
manual_id: function.gzdeflate
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The deflated string or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurred.
  </p>


name: gzencode
purpose: Create a gzip compressed string
manual_id: function.gzencode
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The encoded string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurred.
  </p>


name: gzeof
purpose: Test for EOF on a gz-file pointer
manual_id: function.gzeof
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para"> 
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the gz-file pointer is at <acronym class="acronym">EOF</acronym> or an error occurs;
   otherwise returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: gzfile
purpose: Read entire gz-file into an array
manual_id: function.gzfile
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   An array containing the file, one line per cell, empty lines included, and with newlines still attached,
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: gzgetc
purpose: Get character from gz-file pointer
manual_id: function.gzgetc
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The uncompressed character or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on <acronym class="acronym">EOF</acronym> (unlike <span class="function">gzeof</span>).
  </p>


name: gzgets
purpose: Get line from file pointer
manual_id: function.gzgets
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The uncompressed string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: gzgetss
purpose: Get line from gz-file pointer and strip HTML tags
manual_id: function.gzgetss
version: PHP 4, PHP 5, PHP 7
return_type: string
return_description:
<p class="para">
   The uncompressed and stripped string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: gzinflate
purpose: Inflate a deflated string
manual_id: function.gzinflate
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The original uncompressed data or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>
  <p class="para">
   The function will return an error if the uncompressed data is more than
   32768 times the length of the compressed input <code class="parameter">data</code> 
   or, unless <code class="parameter">max_length</code> is <code class="literal">0</code>, more than the optional parameter <code class="parameter">max_length</code>.
  </p>


name: gzopen
purpose: Open gz-file
manual_id: function.gzopen
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a file pointer to the file opened, after that, everything you read
   from this file descriptor will be transparently decompressed and what you 
   write gets compressed.
  </p>
  <p class="para">
   If the open fails, the function returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: gzpassthru
purpose: Output all remaining data on a gz-file pointer
manual_id: function.gzpassthru
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   The number of uncompressed characters read from <code class="parameter">gz</code>
   and passed through to the input.
  </p>


name: gzread
purpose: Binary-safe gz-file read
manual_id: function.gzread
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The data that have been read,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: gzseek
purpose: Seek on a gz-file pointer
manual_id: function.gzseek
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Upon success, returns 0; otherwise, returns -1. Note that seeking
   past EOF is not considered an error.
  </p>


name: gztell
purpose: Tell gz-file pointer read/write position
manual_id: function.gztell
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The position of the file pointer or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurs.
  </p>


name: gzuncompress
purpose: Uncompress a compressed string
manual_id: function.gzuncompress
version: PHP 4 >= 4.0.1, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The original uncompressed data or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>
  <p class="para">
   The function will return an error if the uncompressed data is more than
   32768 times the length of the compressed input <code class="parameter">data</code> 
   or more than the optional parameter <code class="parameter">max_length</code>.
  </p>


name: gzwrite
purpose: Binary-safe gz-file write
manual_id: function.gzwrite
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para"> 
   Returns the number of (uncompressed) bytes written to the given gz-file 
   stream,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: inflate_add
purpose: Incrementally inflate encoded data
manual_id: function.inflate-add
version: PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a chunk of uncompressed data,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If invalid parameters are given, inflating the data requires a preset
   dictionary, but none is specified, the compressed stream is corrupt or has an
   invalid checksum, an error of level <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> is
   generated.
  </p>


name: inflate_get_read_len
purpose: Get number of bytes read so far
manual_id: function.inflate-get-read-len
version: PHP 7 >= 7.2.0, PHP 8
return_type: int
return_description:
<p class="para">
   Returns number of bytes read so far or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: inflate_init
purpose: Initialize an incremental inflate context
manual_id: function.inflate-init
version: PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an inflate context resource (<code class="literal">zlib.inflate</code>) on
   success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   If an invalid encoding or option is passed to <code class="parameter">options</code>,
   or the context couldn&#039;t be created, an error of level
   <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> is generated.
  </p>


name: readgzfile
purpose: Output a gz-file
manual_id: function.readgzfile
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para"> 
   Returns the number of (uncompressed) bytes read from the file on success,
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>

errors:
<p class="para">
Upon failure, an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> is emitted.
</p>


name: zlib_decode
purpose: Uncompress any raw/gzip/zlib encoded data
manual_id: function.zlib-decode
version: PHP 5 >= 5.4.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the uncompressed data,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: zlib_get_coding_type
purpose: Returns the coding type used for output compression
manual_id: function.zlib-get-coding-type
version: PHP 4 >= 4.3.2, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Possible return values are <code class="literal">gzip</code>, <code class="literal">deflate</code>,
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: hash_algos
purpose: Return a list of registered hashing algorithms
manual_id: function.hash-algos
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: array
return_description:
<p class="para">
   Returns a numerically indexed array containing the list of supported
   hashing algorithms.
  </p>


name: hash_equals
purpose: Timing attack safe string comparison
manual_id: function.hash-equals
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
    Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> when the two strings are equal, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: hash_file
purpose: Generate a hash value using the contents of a given file
manual_id: function.hash-file
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: false
return_description:
<p class="para">
   Returns a string containing the calculated message digest as lowercase hexits
   unless <code class="parameter">binary</code> is set to true in which case the raw
   binary representation of the message digest is returned.
  </p>


name: hash_hkdf
purpose: Generate a HKDF key derivation of a supplied key input
manual_id: function.hash-hkdf
version: PHP 7 >= 7.1.2, PHP 8
return_type: string
return_description:
<p class="para">
   Returns a string containing a raw binary representation of the derived key
   (also known as output keying material - OKM).
  </p>

errors:
<p class="para">
   Throws a <span class="classname">ValueError</span> exception if <code class="parameter">key</code>
   is empty, <code class="parameter">algo</code> is unknown/non-cryptographic,
   <code class="parameter">length</code> is less than <code class="literal">0</code> or too large
   (greater than 255 times the size of the hash function).
  </p>


name: hash_hmac_algos
purpose: Return a list of registered hashing algorithms suitable for hash_hmac
manual_id: function.hash-hmac-algos
version: PHP 7 >= 7.2.0, PHP 8
return_type: array
return_description:
<p class="para">
   Returns a numerically indexed array containing the list of supported hashing
   algorithms suitable for <span class="function">hash_hmac</span>.
  </p>


name: hash_hmac_file
purpose: Generate a keyed hash value using the HMAC method and the contents of a given file
manual_id: function.hash-hmac-file
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: false
return_description:
<p class="para">
   Returns a string containing the calculated message digest as lowercase hexits
   unless <code class="parameter">binary</code> is set to true in which case the raw
   binary representation of the message digest is returned.
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the file <code class="parameter">filename</code> cannot be read.
  </p>

errors:
<p class="para">
   Throws a <span class="classname">ValueError</span> exception if
   <code class="parameter">algo</code> is unknown or is a non-cryptographic hash function.
  </p>


name: hash_hmac
purpose: Generate a keyed hash value using the HMAC method
manual_id: function.hash-hmac
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: string
return_description:
<p class="para">
   Returns a string containing the calculated message digest as lowercase hexits
   unless <code class="parameter">binary</code> is set to true in which case the raw
   binary representation of the message digest is returned.
  </p>

errors:
<p class="para">
   Throws a <span class="classname">ValueError</span> exception if
   <code class="parameter">algo</code> is unknown or is a non-cryptographic hash
   function.
  </p>


name: hash_init
purpose: Initialize an incremental hashing context
manual_id: function.hash-init
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: HashContext
return_description:
<p class="para">
   Returns a Hashing Context for use with <span class="function">hash_update</span>,
   <span class="function">hash_update_stream</span>, <span class="function">hash_update_file</span>,
   and <span class="function">hash_final</span>.
  </p>

errors:
<p class="para">
   Throws a <span class="classname">ValueError</span> exception if
   <code class="parameter">algo</code> is unknown or is a non-cryptographic hash
   function, or if <code class="parameter">key</code> is empty.
  </p>


name: hash_pbkdf2
purpose: Generate a PBKDF2 key derivation of a supplied password
manual_id: function.hash-pbkdf2
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: string
return_description:
<p class="para">
   Returns a string containing the derived key as lowercase hexits unless
   <code class="parameter">binary</code> is set to <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> in which case the raw
   binary representation of the derived key is returned.
  </p>

errors:
<p class="para">
   Throws a <span class="classname">ValueError</span> exception if the algorithm is
   unknown, the <code class="parameter">iterations</code> parameter is less than or
   equal to <code class="literal">0</code>, the <code class="parameter">length</code> is less
   than <code class="literal">0</code> or the <code class="parameter">salt</code> is too long
   (greater than <strong><code>INT_MAX</code></strong><code class="literal"> - 4</code>).
  </p>


name: hash_update_stream
purpose: Pump data into an active hashing context from an open stream
manual_id: function.hash-update-stream
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: int
return_description:
<p class="para">
   Actual number of bytes added to the hashing context from <code class="parameter">stream</code>.
  </p>


name: hash_update
purpose: Pump data into an active hashing context
manual_id: function.hash-update
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>.
  </p>


name: mcrypt_create_iv
purpose: Creates an initialization vector (IV) from a random source
manual_id: function.mcrypt-create-iv
version: PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: string
return_description:
<p class="para">
   Returns the initialization vector, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: mcrypt_decrypt
purpose: Decrypts crypttext with given parameters
manual_id: function.mcrypt-decrypt
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns the decrypted data as a string  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: mcrypt_enc_get_supported_key_sizes
purpose: Returns an array with the supported keysizes of the opened algorithm
manual_id: function.mcrypt-enc-get-supported-key-sizes
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: array
return_description:
<p class="para">
   Returns an array with the key sizes supported by the algorithm
   specified by the encryption descriptor. If it returns an empty
   array then all key sizes between 1 and
   <span class="function">mcrypt_enc_get_key_size</span> are supported by the
   algorithm.
  </p>


name: mcrypt_enc_is_block_algorithm_mode
purpose: Checks whether the encryption of the opened mode works on blocks
manual_id: function.mcrypt-enc-is-block-algorithm-mode
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the mode is for use with block algorithms, otherwise it
   returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: mcrypt_enc_is_block_algorithm
purpose: Checks whether the algorithm of the opened mode is a block algorithm
manual_id: function.mcrypt-enc-is-block-algorithm
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the algorithm is a block algorithm or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it is
   a stream one.
  </p>


name: mcrypt_enc_is_block_mode
purpose: Checks whether the opened mode outputs blocks
manual_id: function.mcrypt-enc-is-block-mode
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the mode outputs blocks of bytes,
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it outputs just bytes.
  </p>


name: mcrypt_enc_self_test
purpose: Runs a self test on the opened module
manual_id: function.mcrypt-enc-self-test
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: int
return_description:
<p class="para">
   Returns <code class="literal">0</code> on success and a negative <span class="type">int</span> on failure.
  </p>


name: mcrypt_encrypt
purpose: Encrypts plaintext with given parameters
manual_id: function.mcrypt-encrypt
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns the encrypted data as a string  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: mcrypt_generic_init
purpose: This function initializes all buffers needed for encryption
manual_id: function.mcrypt-generic-init
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: int
return_description:
<p class="para">
   The function returns a negative value on error: -3 when the key length
   was incorrect, -4 when there was a memory allocation problem and any
   other return value is an unknown error. If an error occurs a warning will
   be displayed accordingly. <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> is returned if incorrect parameters
   were passed.
  </p>


name: mcrypt_get_block_size
purpose: Gets the block size of the specified cipher
manual_id: function.mcrypt-get-block-size
version: PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns the algorithm block size in bytes  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: mcrypt_get_cipher_name
purpose: Gets the name of the specified cipher
manual_id: function.mcrypt-get-cipher-name
version: PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: string
return_description:
<p class="para">
   This function returns the name of the cipher or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the cipher does
   not exist.
  </p>


name: mcrypt_get_iv_size
purpose: Returns the size of the IV belonging to a specific cipher/mode combination
manual_id: function.mcrypt-get-iv-size
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: int
return_description:
<p class="para">
   Returns the size of the Initialization Vector (IV) in bytes. On error the
   function returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>. If the IV is ignored in the specified cipher/mode
   combination zero is returned.
  </p>


name: mcrypt_get_key_size
purpose: Gets the key size of the specified cipher
manual_id: function.mcrypt-get-key-size
version: PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns the maximum supported key size of the algorithm in bytes
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: mcrypt_module_get_algo_key_size
purpose: Returns the maximum supported keysize of the opened mode
manual_id: function.mcrypt-module-get-algo-key-size
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: int
return_description:
<p class="para">
   This function returns the maximum supported key size of the
   algorithm specified in bytes.
  </p>


name: mcrypt_module_get_supported_key_sizes
purpose: Returns an array with the supported keysizes of the opened algorithm
manual_id: function.mcrypt-module-get-supported-key-sizes
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: array
return_description:
<p class="para">
   Returns an array with the key sizes supported by the specified algorithm.
   If it returns an empty array then all key sizes between 1 and
   <span class="function">mcrypt_module_get_algo_key_size</span> are supported by the
   algorithm.
  </p>


name: mcrypt_module_is_block_algorithm_mode
purpose: Returns if the specified module is a block algorithm or not
manual_id: function.mcrypt-module-is-block-algorithm-mode
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   This function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the mode is for use with block
   algorithms, otherwise it returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>. (e.g. <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> for stream, and
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> for cbc, cfb, ofb).
  </p>


name: mcrypt_module_is_block_algorithm
purpose: This function checks whether the specified algorithm is a block algorithm
manual_id: function.mcrypt-module-is-block-algorithm
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   This function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the specified algorithm is a block
   algorithm, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it is a stream one.
  </p>


name: mcrypt_module_is_block_mode
purpose: Returns if the specified mode outputs blocks or not
manual_id: function.mcrypt-module-is-block-mode
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   This function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the mode outputs blocks of bytes or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it outputs just bytes. (e.g. <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> for cbc and ecb, and
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> for cfb and stream).
  </p>


name: mcrypt_module_open
purpose: Opens the module of the algorithm and the mode to be used
manual_id: function.mcrypt-module-open
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Normally it returns an encryption descriptor, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: mcrypt_module_self_test
purpose: This function runs a self test on the specified module
manual_id: function.mcrypt-module-self-test
version: PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
return_type: bool
return_description:
<p class="para">
   The function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the self test succeeds, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when it
   fails.
  </p>


name: mhash_count
purpose: Gets the highest available hash ID
manual_id: function.mhash-count
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns the highest available hash ID. Hashes are numbered from 0 to this
   hash ID.
  </p>


name: mhash_get_block_size
purpose: Gets the block size of the specified hash
manual_id: function.mhash-get-block-size
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the size in bytes or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, if the <code class="parameter">algo</code>
   does not exist.
  </p>


name: mhash_get_hash_name
purpose: Gets the name of the specified hash
manual_id: function.mhash-get-hash-name
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the name of the hash or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, if the hash does not exist.
  </p>


name: mhash_keygen_s2k
purpose: Generates a key
manual_id: function.mhash-keygen-s2k
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the generated key as a string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: mhash
purpose: Computes hash
manual_id: function.mhash
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the resulting hash (also called digest) or HMAC as a string, or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: openssl_cipher_iv_length
purpose: Gets the cipher iv length
manual_id: function.openssl-cipher-iv-length
version: PHP 5 >= 5.3.3, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the cipher length on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. 
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error when the cipher algorithm
   is unknown.
  </p>


name: openssl_cipher_key_length
purpose: Gets the cipher key length
manual_id: function.openssl-cipher-key-length
version: PHP 8 >= 8.2.0
return_type: false
return_description:
<p class="para">
   Returns the cipher length on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error when the cipher algorithm
   is unknown.
  </p>


name: openssl_csr_get_public_key
purpose: Returns the public key of a CSR
manual_id: function.openssl-csr-get-public-key
version: PHP 5 >= 5.2.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an <span class="classname">OpenSSLAsymmetricKey</span> on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: openssl_csr_get_subject
purpose: Returns the subject of a CSR
manual_id: function.openssl-csr-get-subject
version: PHP 5 >= 5.2.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an associative array with subject description,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_csr_new
purpose: Generates a CSR
manual_id: function.openssl-csr-new
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the <acronym class="acronym">CSR</acronym> or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_csr_sign
purpose: Sign a CSR with another certificate (or itself) and generate a certificate
manual_id: function.openssl-csr-sign
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an <span class="classname">OpenSSLCertificate</span> on success, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_decrypt
purpose: Decrypts data
manual_id: function.openssl-decrypt
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   The decrypted string on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an unknown cipher algorithm
   is passed via the <code class="parameter">cipher_algo</code> parameter.
  </p>
  <p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an empty value is passed
   in via the <code class="parameter">iv</code> parameter.
  </p>


name: openssl_dh_compute_key
purpose: Computes shared secret for public value of remote DH public key and local DH key
manual_id: function.openssl-dh-compute-key
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns shared secret on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_digest
purpose: Computes a digest
manual_id: function.openssl-digest
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the digested hash value on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an unknown signature algorithm
   is passed via the <code class="parameter">digest_algo</code> parameter.
  </p>


name: openssl_encrypt
purpose: Encrypts data
manual_id: function.openssl-encrypt
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the encrypted string on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an unknown cipher
   algorithm is passed in via the <code class="parameter">cipher_algo</code> parameter.
  </p>
  <p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an empty value is passed
   in via the <code class="parameter">iv</code> parameter.
  </p>


name: openssl_error_string
purpose: Return openSSL error message
manual_id: function.openssl-error-string
version: PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an error message string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there are no more error
   messages to return.
  </p>


name: openssl_get_cipher_methods
purpose: Gets available cipher methods
manual_id: function.openssl-get-cipher-methods
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   An <span class="type">array</span> of available cipher methods.
   Note that prior to OpenSSL 1.1.1, the cipher methods have been returned in
   upper case and lower case spelling; as of OpenSSL 1.1.1 only the lower case
   variants are returned.
  </p>


name: openssl_get_curve_names
purpose: Gets list of available curve names for ECC
manual_id: function.openssl-get-curve-names
version: PHP 7 >= 7.1.0, PHP 8
return_type: false
return_description:
<p class="para">
   An <span class="type">array</span> of available curve names,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_pbkdf2
purpose: Generates a PKCS5 v2 PBKDF2 string
manual_id: function.openssl-pbkdf2
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns raw binary string or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_pkcs7_verify
purpose: Verifies the signature of an S/MIME signed message
manual_id: function.openssl-pkcs7-verify
version: PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the signature is verified, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it is not correct
   (the message has been tampered with, or the signing certificate is invalid),
   or -1 on error.
  </p>


name: openssl_pkey_derive
purpose: Computes shared secret for public value of remote and local DH or ECDH key
manual_id: function.openssl-pkey-derive
version: PHP 7 >= 7.3.0, PHP 8
return_type: false
return_description:
<p class="para">
   The derived secret on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_pkey_get_details
purpose: Returns an array with the key details
manual_id: function.openssl-pkey-get-details
version: PHP 5 >= 5.2.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an array with the key details on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
   Returned array has indexes <code class="literal">bits</code> (number of bits),
   <code class="literal">key</code> (string representation of the public key) and
   <code class="literal">type</code> (type of the key which is one of
   <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-rsa">OPENSSL_KEYTYPE_RSA</a></code></strong>,
   <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-dsa">OPENSSL_KEYTYPE_DSA</a></code></strong>,
   <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-dh">OPENSSL_KEYTYPE_DH</a></code></strong>,
   <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-ec">OPENSSL_KEYTYPE_EC</a></code></strong> or -1 meaning unknown).
  </p>
  <p class="para">
   Depending on the key type used, additional details may be returned. Note that 
   some elements may not always be available.
  </p>
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">
     <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-rsa">OPENSSL_KEYTYPE_RSA</a></code></strong>, an additional array key named <code class="literal">&quot;rsa&quot;</code>, 
     containing the key data is returned.
    </span>
     <table class="doctable informaltable">
      
       <thead>
        <tr>
         <th>Key</th>
         <th>Description</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr>
         <td><code class="literal">&quot;n&quot;</code></td>
         <td>modulus</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;e&quot;</code></td>
         <td>public exponent</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;d&quot;</code></td>
         <td>private exponent</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;p&quot;</code></td>
         <td>prime 1</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;q&quot;</code></td>
         <td>prime 2</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;dmp1&quot;</code></td>
         <td>exponent1, d mod (p-1)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;dmq1&quot;</code></td>
         <td>exponent2, d mod (q-1)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;iqmp&quot;</code></td>
         <td>coefficient, (inverse of q) mod p</td>
        </tr>

       </tbody>
      
     </table>

   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-dsa">OPENSSL_KEYTYPE_DSA</a></code></strong>, an additional array key named <code class="literal">&quot;dsa&quot;</code>, 
     containing the key data is returned.
    </span>
     <table class="doctable informaltable">
      
       <thead>
        <tr>
         <th>Key</th>
         <th>Description</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr>
         <td><code class="literal">&quot;p&quot;</code></td>
         <td>prime number (public)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;q&quot;</code></td>
         <td>160-bit subprime, q | p-1 (public)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;g&quot;</code></td>
         <td>generator of subgroup (public)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;priv_key&quot;</code></td>
         <td>private key x</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;pub_key&quot;</code></td>
         <td>public key y = g^x</td>
        </tr>

       </tbody>
      
     </table>

   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-dh">OPENSSL_KEYTYPE_DH</a></code></strong>, an additional array key named <code class="literal">&quot;dh&quot;</code>, 
     containing the key data is returned.
    </span>
     <table class="doctable informaltable">
      
       <thead>
        <tr>
         <th>Key</th>
         <th>Description</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr>
         <td><code class="literal">&quot;p&quot;</code></td>
         <td>prime number (shared)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;g&quot;</code></td>
         <td>generator of Z_p (shared)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;priv_key&quot;</code></td>
         <td>private DH value x</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;pub_key&quot;</code></td>
         <td>public DH value g^x</td>
        </tr>

       </tbody>
      
     </table>

   </li>
   <li class="listitem">
    <span class="simpara">
     <strong><code><a href="openssl.key-types.html#constant.openssl-keytype-ec">OPENSSL_KEYTYPE_EC</a></code></strong>, an additional array key named <code class="literal">&quot;ec&quot;</code>, 
     containing the key data is returned.
    </span>
     <table class="doctable informaltable">
      
       <thead>
        <tr>
         <th>Key</th>
         <th>Description</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr>
         <td><code class="literal">&quot;curve_name&quot;</code></td>
         <td>name of curve, see <span class="function">openssl_get_curve_names</span></td>
        </tr>

        <tr>
         <td><code class="literal">&quot;curve_oid&quot;</code></td>
         <td>ASN1 Object identifier (OID) for EC curve.</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;x&quot;</code></td>
         <td>x coordinate (public)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;y&quot;</code></td>
         <td>y coordinate (public)</td>
        </tr>

        <tr>
         <td><code class="literal">&quot;d&quot;</code></td>
         <td>private key</td>
        </tr>

       </tbody>
      
     </table>

   </li>
  </ul>


name: openssl_pkey_get_private
purpose: Get a private key
manual_id: function.openssl-pkey-get-private
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an <span class="classname">OpenSSLAsymmetricKey</span> instance on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: openssl_pkey_new
purpose: Generates a new private key
manual_id: function.openssl-pkey-new
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an <span class="classname">OpenSSLAsymmetricKey</span> instance for the pkey on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on
   error.
  </p>


name: openssl_random_pseudo_bytes
purpose: Generate a pseudo-random string of bytes
manual_id: function.openssl-random-pseudo-bytes
version: PHP 5 >= 5.3.0, PHP 7, PHP 8
return_type: string
return_description: <p class="para"> Returns the generated <span class="type">string</span> of bytes. </p>
errors:
<p class="para">
   <span class="function">openssl_random_pseudo_bytes</span> throws an <span class="classname">Exception</span>
   on failure.
  </p>


name: openssl_seal
purpose: Seal (encrypt) data
manual_id: function.openssl-seal
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the length of the sealed data on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
   If successful the sealed data is returned in
   <code class="parameter">sealed_data</code>, and the envelope keys in
   <code class="parameter">encrypted_keys</code>.
  </p>


name: openssl_spki_export_challenge
purpose: Exports the challenge associated with a signed public key and challenge
manual_id: function.openssl-spki-export-challenge
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the associated challenge string or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an invalid argument
   is passed via the <code class="parameter">spki</code> parameter.
  </p>


name: openssl_spki_export
purpose: Exports a valid PEM formatted public key signed public key and challenge
manual_id: function.openssl-spki-export
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the associated <acronym class="acronym">PEM</acronym> formatted public key or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an invalid argument
   is passed via the <code class="parameter">spki</code> parameter.
  </p>


name: openssl_spki_new
purpose: Generate a new signed public key and challenge
manual_id: function.openssl-spki-new
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a signed public key and challenge string or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   Emits an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error if an unknown signature algorithm
   is passed via the <code class="parameter">digest_algo</code> parameter.
  </p>


name: openssl_verify
purpose: Verify signature
manual_id: function.openssl-verify
version: PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns 1 if the signature is correct, 0 if it is incorrect, and
   -1 or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: openssl_x509_check_private_key
purpose: Checks if a private key corresponds to a certificate
manual_id: function.openssl-x509-check-private-key
version: PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if <code class="parameter">private_key</code> is the private key that
   corresponds to <code class="parameter">certificate</code>, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: openssl_x509_checkpurpose
purpose: Verifies if a certificate can be used for a particular purpose
manual_id: function.openssl-x509-checkpurpose
version: PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the certificate can be used for the intended purpose,
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if it cannot, or -1 on error.
  </p>


name: openssl_x509_fingerprint
purpose: Calculates the fingerprint, or digest, of a given X.509 certificate
manual_id: function.openssl-x509-fingerprint
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
    Returns a string containing the calculated certificate fingerprint as lowercase hexits unless <code class="parameter">binary</code> is set to <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> in which case the raw binary representation of the message digest is returned.
  </p>
  <p class="para">
    Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_x509_parse
purpose: Parse an X509 certificate and return the information as an array
manual_id: function.openssl-x509-parse
version: PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   <em>The structure of the returned data is (deliberately) not
   yet documented, as it is still subject to change.</em>
  </p>


name: openssl_x509_read
purpose: Parse an X.509 certificate and return an object for it
manual_id: function.openssl-x509-read
version: PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an <span class="classname">OpenSSLCertificate</span> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: openssl_x509_verify
purpose: Verifies digital signature of x509 certificate against a public key
manual_id: function.openssl-x509-verify
version: PHP 7 >= 7.4.0, PHP 8
return_type: int
return_description:
<p class="para">
   Returns 1 if the signature is correct, 0 if it is incorrect, and
   -1 on error.
  </p>


name: password_get_info
purpose: Returns information about the given hash
manual_id: function.password-get-info
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an associative array with three elements: 
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
       <code class="literal">algo</code>, which will match a
       <a href="password.constants.html" class="link">password algorithm constant</a>
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">algoName</code>, which has the human readable name of the
      algorithm
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      <code class="literal">options</code>, which includes the options
      provided when calling <span class="function">password_hash</span>
     </span>
    </li>
   </ul>
  </p>


name: password_hash
purpose: Creates a password hash
manual_id: function.password-hash
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns the hashed password.
  </p>
  <p class="para">
   The used algorithm, cost and salt are returned as part of the hash. Therefore,
   all information that&#039;s needed to verify the hash is included in it. This allows
   the <span class="function">password_verify</span> function to verify the hash without
   needing separate storage for the salt or algorithm information.
  </p>


name: password_needs_rehash
purpose: Checks if the given hash matches the given options
manual_id: function.password-needs-rehash
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the hash should be rehashed to match the given
   <code class="parameter">algo</code> and <code class="parameter">options</code>, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>
   otherwise.
  </p>


name: password_verify
purpose: Verifies that a password matches a hash
manual_id: function.password-verify
version: PHP 5 >= 5.5.0, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the password and hash match, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: rnp_backend_string
purpose: Return cryptographic backend library name
manual_id: function.rnp-backend-string
version: PECL rnp >= 0.1.1
return_type: string
return_description:
<p class="para">
   Backend name string. Currently supported
   backends are &quot;Botan&quot; and &quot;OpenSSL&quot;.
  </p>


name: rnp_decrypt
purpose: Decrypt PGP message
manual_id: function.rnp-decrypt
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Decrypted message on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_dump_packets_to_json
purpose: Dump OpenPGP packets stream information to the JSON string
manual_id: function.rnp-dump-packets-to-json
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   JSON string with dump or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_dump_packets
purpose: Dump OpenPGP packets stream information in humand-readable format
manual_id: function.rnp-dump-packets
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Text describing packet sequence or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_ffi_create
purpose: Create the top-level object used for interacting with the library
manual_id: function.rnp-ffi-create
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Returns <span class="type">RnpFFI</span> object on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_import_keys
purpose: Import keys from PHP string to the keyring and receive JSON describing new/updated keys
manual_id: function.rnp-import-keys
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   JSON string with information about new and updated keys on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_import_signatures
purpose: Import standalone signatures to the keyring and receive JSON describing updated keys
manual_id: function.rnp-import-signatures
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   JSON string with information about updated keys on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_key_export_autocrypt
manual_id: function.rnp-key-export-autocrypt
version: PECL rnp >= 0.1.1
return_type: false
purpose:
Export minimal key for autocrypt feature (just 5 packets: key, uid, signature,   encryption subkey, signature)

return_description:
<p class="para">
   OpenPGP packets of exported key on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_key_export_revocation
purpose: Generate and export primary key revocation signature
manual_id: function.rnp-key-export-revocation
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Exported revocation signature on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_key_export
purpose: Export a key
manual_id: function.rnp-key-export
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   OpenPGP packets of exported key (binary or ASCII-armored) on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_key_get_info
purpose: Get information about the key
manual_id: function.rnp-key-get-info
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   An associative array with information about the key or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Key</th>
      <th>Data type</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">&quot;is_primary&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is the primary key.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_sub&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is a subkey.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_valid&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if public key is valid.
       This includes checks of the self-signatures,
       expiration times, revocations and so on.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_revoked&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is revoked.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_superseded&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is superseded. Present only if the key is revoked.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_compromised&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is compromised. Present only if the key is revoked.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_retired&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is retired. Present only if the key is revoked.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_expired&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is expired.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;have_secret&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key has secret part.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_locked&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is currently locked. Only present for secret keys.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;is_protected&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key is protected. Only present for secret keys.
       A protected key is one that is encrypted and can be safely held in memory
       and locked/unlocked as needed.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;have_public&quot;</code></td>
      <td>boolean</td>
      <td>
       <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if this key has public part. Generally all keys would have public part.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;valid_till&quot;</code></td>
      <td>integer</td>
      <td>
       The timestamp till which key can be considered as valid.
       Note: this will take into account not only key&#039;s expiration, but revocations as well.
       For the subkey primary key&#039;s validity time will be also checked.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;bits&quot;</code></td>
      <td>integer</td>
      <td>
       Number of bits in the key. For EC-based keys it will contain size of the curve.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;alg&quot;</code></td>
      <td>string</td>
      <td>
       Key algorithm name.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;subkeys&quot;</code></td>
      <td>array</td>
      <td>
       An indexed array containing fingerprint strings of subkeys. Only present for
       primary keys. Could be empty if primary key has no subkeys.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;uids&quot;</code></td>
      <td>array</td>
      <td>
       An indexed array containing user ID strings. Only present for
       primary keys. Could be empty if primary key has no user ID-s.
      </td>
     </tr>

    </tbody>
   
  </table>


name: rnp_list_keys
purpose: Enumerate all keys present in a keyring by specified identifer type
manual_id: function.rnp-list-keys
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   An associative array where key is an identifier string and value is a PGP key fingerprint or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_locate_key
purpose: Search for the key
manual_id: function.rnp-locate-key
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Returns hexadecimal fingerprint of the key found on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_op_encrypt
purpose: Encrypt message
manual_id: function.rnp-op-encrypt
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Encrypted data on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_op_generate_key
purpose: Generate key
manual_id: function.rnp-op-generate-key
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Fingerprint of the generated primary key or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. This fingerprint can be used
   later to reference the key in sign and encrypt operations. The key data is stored in FFI
   memory context and can be saved using
   <span class="function">rnp_save_keys</span> or <span class="function">rnp_save_keys_to_path</span>.
  </p>


name: rnp_op_sign_cleartext
purpose: Perform signing operation on a textual data, return cleartext signed message
manual_id: function.rnp-op-sign-cleartext
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Cleartext signed message containing source data with
   additional headers and ASCII-armored signature on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_op_sign_detached
purpose: Perform signing operation, return detached signature(s)
manual_id: function.rnp-op-sign-detached
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Detached signature(s) data on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_op_sign
purpose: Perform signing operation on a binary data, return embedded signature(s)
manual_id: function.rnp-op-sign
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   Data with embedded signature(s) on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: rnp_op_verify_detached
purpose: Verify detached signatures
manual_id: function.rnp-op-verify-detached
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   An associative array with information about verification results or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Key</th>
      <th>Data type</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">&quot;verification_status&quot;</code></td>
      <td>string</td>
      <td>
       Overall verification result, either &quot;Success&quot; string or appropriate error message.
       &quot;Success&quot; result is set when at least one signature is valid and successfully verified.
       Individual verification results for each signature can be checked in the &quot;signatures&quot; array.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;file_name&quot;</code></td>
      <td>string</td>
      <td>File name.</td>
     </tr>

     <tr>
      <td><code class="literal">&quot;file_mtime&quot;</code></td>
      <td>integer</td>
      <td>File modification time.</td>
     </tr>

     <tr>
      <td><code class="literal">&quot;mode&quot;</code></td>
      <td>string</td>
      <td>Data protection (encryption) mode used in processed message.
      Currently defined values are &quot;none&quot;, &quot;cfb&quot;, &quot;cfb-mdc&quot;, &quot;aead-ocb&quot;, &quot;aead-eax&quot;.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;cipher&quot;</code></td>
      <td>string</td>
      <td>Symmetric cipher used for data encryption.</td>
     </tr>

     <tr>
      <td><code class="literal">&quot;valid_integrity&quot;</code></td>
      <td>boolean</td>
      <td><strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if message integrity protection was used (i.e. MDC or AEAD) and it was
      validated successfully.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;signatures&quot;</code></td>
      <td>array</td>
      <td>
       An associative array describing each signature found. See description below.
      </td>
     </tr>

    </tbody>
   
  </table>

  <p class="para">
   &quot;signatures&quot; sub-array.
  </p>
  <table class="doctable informaltable">
  
   <thead>
    <tr>
     <th>Key</th>
     <th>Data type</th>
     <th>Description</th>
    </tr>

   </thead>

  <tbody class="tbody">
   <tr>
    <td>&quot;verification_status&quot;</td>
    <td>string</td>
    <td>Signature verification status, either &quot;Success&quot; string or appropriate error message.</td>
   </tr>

   <tr>
    <td>&quot;creation_time&quot;</td>
    <td>integer</td>
    <td>Signature creation time in seconds since Jan, 1 1970 UTC.</td>
   </tr>

   <tr>
    <td>&quot;expiration_time&quot;</td>
    <td>integer</td>
    <td>Signature expiration time in seconds since the creation time or 0 if signature never expires.</td>
   </tr>

   <tr>
    <td>&quot;hash&quot;</td>
    <td>string</td>
    <td>Hash function algorithm used to calculate the signature.</td>
   </tr>

   <tr>
    <td>&quot;signing_key&quot;</td>
    <td>string</td>
    <td>Fingerprint of the key used for signing. Could be &quot;Not found&quot; if corresponding public key is not loaded to the FFI object.</td>
   </tr>

   <tr>
    <td>&quot;signature_type&quot;</td>
    <td>string</td>
    <td>
     Signature type. Currently defined values are: &#039;binary&#039;, &#039;text&#039;, &#039;standalone&#039;, &#039;certification (generic)&#039;, &#039;certification (persona)&#039;,
     &#039;certification (casual)&#039;, &#039;certification (positive)&#039;, &#039;subkey binding&#039;, &#039;primary key binding&#039;, &#039;direct&#039;, &#039;key revocation&#039;,
     &#039;subkey revocation&#039;, &#039;certification revocation&#039;, &#039;timestamp&#039;, &#039;uknown: 0..255&#039;.
    </td>
   </tr>

  </tbody>
  
  </table>


name: rnp_op_verify
purpose: Verify embedded or cleartext signatures
manual_id: function.rnp-op-verify
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   An associative array with information about verification results or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Key</th>
      <th>Data type</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">&quot;verification_status&quot;</code></td>
      <td>string</td>
      <td>
       Overall verification result, either &quot;Success&quot; string or appropriate error message.
       &quot;Success&quot; result is set when at least one signature is valid and successfully verified.
       Individual verification results for each signature can be checked in the &quot;signatures&quot; array.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;file_name&quot;</code></td>
      <td>string</td>
      <td>File name.</td>
     </tr>

     <tr>
      <td><code class="literal">&quot;file_mtime&quot;</code></td>
      <td>integer</td>
      <td>File modification time.</td>
     </tr>

     <tr>
      <td><code class="literal">&quot;mode&quot;</code></td>
      <td>string</td>
      <td>Data protection (encryption) mode used in processed message.
      Currently defined values are &quot;none&quot;, &quot;cfb&quot;, &quot;cfb-mdc&quot;, &quot;aead-ocb&quot;, &quot;aead-eax&quot;.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;cipher&quot;</code></td>
      <td>string</td>
      <td>Symmetric cipher used for data encryption.</td>
     </tr>

     <tr>
      <td><code class="literal">&quot;valid_integrity&quot;</code></td>
      <td>boolean</td>
      <td><strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if message integrity protection was used (i.e. MDC or AEAD) and it was
      validated successfully.
      </td>
     </tr>

     <tr>
      <td><code class="literal">&quot;signatures&quot;</code></td>
      <td>array</td>
      <td>
       An associative array describing each signature found. See description below.
      </td>
     </tr>

    </tbody>
   
  </table>

  <p class="para">
   &quot;signatures&quot; sub-array.
  </p>
  <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Key</th>
       <th>Data type</th>
       <th>Description</th>
      </tr>

     </thead>

    <tbody class="tbody">
     <tr>
      <td>&quot;verification_status&quot;</td>
      <td>string</td>
      <td>Signature verification status, either &quot;Success&quot; string or appropriate error message.</td>
     </tr>

     <tr>
      <td>&quot;creation_time&quot;</td>
      <td>integer</td>
      <td>Signature creation time in seconds since Jan, 1 1970 UTC.</td>
     </tr>

     <tr>
      <td>&quot;expiration_time&quot;</td>
      <td>integer</td>
      <td>Signature expiration time in seconds since the creation time or 0 if signature never expires.</td>
     </tr>

     <tr>
      <td>&quot;hash&quot;</td>
      <td>string</td>
      <td>Hash function algorithm used to calculate the signature.</td>
     </tr>

     <tr>
      <td>&quot;signing_key&quot;</td>
      <td>string</td>
      <td>Fingerprint of the key used for signing. Could be &quot;Not found&quot; if corresponding public key is not loaded to the FFI object.</td>
     </tr>

     <tr>
      <td>&quot;signature_type&quot;</td>
      <td>string</td>
      <td>
       Signature type. Currently defined values are: &#039;binary&#039;, &#039;text&#039;, &#039;standalone&#039;, &#039;certification (generic)&#039;, &#039;certification (persona)&#039;,
       &#039;certification (casual)&#039;, &#039;certification (positive)&#039;, &#039;subkey binding&#039;, &#039;primary key binding&#039;, &#039;direct&#039;, &#039;key revocation&#039;,
       &#039;subkey revocation&#039;, &#039;certification revocation&#039;, &#039;timestamp&#039;, &#039;uknown: 0..255&#039;.
      </td>
     </tr>

    </tbody>
    
   </table>


name: rnp_supported_features
purpose: Get supported features in JSON format
manual_id: function.rnp-supported-features
version: PECL rnp >= 0.1.1
return_type: false
return_description:
<p class="para">
   String containing JSON formatted array of supported algorithms, curves, etc or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_compare
purpose: Compare large numbers
manual_id: function.sodium-compare
version: PHP 7 >= 7.2.0, PHP 8
return_type: int
return_description:
<p class="para">
   Returns <code class="literal">-1</code> if <code class="parameter">string1</code> is less than <code class="parameter">string2</code>.
  </p>
  <p class="para">
   Returns <code class="literal">1</code> if <code class="parameter">string1</code> is greater than <code class="parameter">string2</code>.
  </p>
  <p class="para">
   Returns <code class="literal">0</code> if both strings are equal.
  </p>


name: sodium_crypto_aead_aes256gcm_decrypt
purpose: Verify then decrypt a message with AES-256-GCM
manual_id: function.sodium-crypto-aead-aes256gcm-decrypt
version: PHP 7 >= 7.2.0, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the plaintext on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_crypto_aead_aes256gcm_encrypt
purpose: Encrypt then authenticate with AES-256-GCM
manual_id: function.sodium-crypto-aead-aes256gcm-encrypt
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the ciphertext and authentication tag as a string of raw binary bytes. (Format: ciphertext, then tag.)
  </p>


name: sodium_crypto_aead_aes256gcm_is_available
purpose: Check if hardware supports AES256-GCM
manual_id: function.sodium-crypto-aead-aes256gcm-is-available
version: PHP 7 >= 7.2.0, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if it is safe to encrypt with AES-256-GCM, and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: sodium_crypto_aead_chacha20poly1305_encrypt
purpose: Encrypt then authenticate with ChaCha20-Poly1305
manual_id: function.sodium-crypto-aead-chacha20poly1305-encrypt
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the ciphertext and tag on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_crypto_box_keypair
purpose: Randomly generate a secret key and a corresponding public key
manual_id: function.sodium-crypto-box-keypair
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   One string containing both the X25519 secret key and corresponding X25519 public key.
  </p>


name: sodium_crypto_box_open
purpose: Authenticated public-key decryption
manual_id: function.sodium-crypto-box-open
version: PHP 7 >= 7.2.0, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the plaintext message on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_crypto_box_seal_open
purpose: Anonymous public-key decryption
manual_id: function.sodium-crypto-box-seal-open
version: PHP 7 >= 7.2.0, PHP 8
return_type: false
return_description:
<p class="para">
   The plaintext on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_crypto_box_seal
purpose: Anonymous public-key encryption
manual_id: function.sodium-crypto-box-seal
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   A ciphertext string in the format of (one-time public key, encrypted message, authentication tag).
  </p>


name: sodium_crypto_box
purpose: Authenticated public-key encryption
manual_id: function.sodium-crypto-box
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the encrypted message (ciphertext plus authentication tag). The ciphertext will be
   16 bytes longer than the plaintext, and a raw binary string. See <span class="function">sodium_bin2base64</span>
   for safe encoding for storage.
  </p>


name: sodium_crypto_core_ristretto255_is_valid_point
purpose: Determines if a point on the ristretto255 curve
manual_id: function.sodium-crypto-core-ristretto255-is-valid-point
version: PHP 8 >= 8.1.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if <code class="parameter">s</code> is on the ristretto255 curve, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: sodium_crypto_generichash
purpose: Get a hash of the message
manual_id: function.sodium-crypto-generichash
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   The cryptographic hash as raw bytes. If a hex-encoded output is desired,
   the result can be passed to <span class="function">sodium_bin2hex</span>.
  </p>


name: sodium_crypto_kx_client_session_keys
purpose: Calculate the client-side session keys.
manual_id: function.sodium-crypto-kx-client-session-keys
version: PHP 7 >= 7.2.0, PHP 8
return_type: array
return_description:
<p class="para">
   An array consisting of two strings. The first should be used for receiving data
   from the server. The second should be used for sending data to the server.
  </p>


name: sodium_crypto_kx_server_session_keys
purpose: Calculate the server-side session keys.
manual_id: function.sodium-crypto-kx-server-session-keys
version: PHP 7 >= 7.2.0, PHP 8
return_type: array
return_description:
<p class="para">
   An array consisting of two strings. The first should be used for receiving data
   from the client. The second should be used for sending data to the client.
  </p>


name: sodium_crypto_pwhash_str_needs_rehash
purpose: Determine whether or not to rehash a password
manual_id: function.sodium-crypto-pwhash-str-needs-rehash
version: PHP 7 >= 7.2.0, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the provided memlimit/opslimit do not match what&#039;s stored in the hash.
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if they match.
  </p>


name: sodium_crypto_pwhash_str
purpose: Get an ASCII-encoded hash
manual_id: function.sodium-crypto-pwhash-str
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the hashed password.
  </p>
  <p class="para">
   In order to produce the same password hash from the same password, the same values for <code class="parameter">opslimit</code> and <code class="parameter">memlimit</code> must be used. These are embedded within the generated hash, so
   everything that&#039;s needed to verify the hash is included. This allows
   the <span class="function">sodium_crypto_pwhash_str_verify</span> function to verify the hash without
   needing separate storage for the other parameters.
  </p>


name: sodium_crypto_pwhash
purpose: Derive a key from a password, using Argon2
manual_id: function.sodium-crypto-pwhash
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the derived key. The return value is a binary string of the hash, not an ASCII-encoded representation, and does not contain additional information about the parameters used to create the hash, so you will need to keep that information if you are ever going to verify the password in future. Use <span class="function">sodium_crypto_pwhash_str</span> to avoid needing to do all that.
  </p>


name: sodium_crypto_secretbox_open
purpose: Authenticated shared-key decryption
manual_id: function.sodium-crypto-secretbox-open
version: PHP 7 >= 7.2.0, PHP 8
return_type: false
return_description:
<p class="para">
   The decrypted string on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">
     If <code class="parameter">nonce</code> has a length of bytes different than
     <a href="sodium.constants.html#constant.sodium-crypto-secretbox-noncebytes" class="link"><strong><code><a href="sodium.constants.html#constant.sodium-crypto-secretbox-noncebytes">SODIUM_CRYPTO_SECRETBOX_NONCEBYTES</a></code></strong></a>
     (24 bytes), a <span class="classname">SodiumException</span> will be thrown.
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     If <code class="parameter">key</code> has a length of bytes different than
     <a href="sodium.constants.html#constant.sodium-crypto-secretbox-keybytes" class="link"><strong><code><a href="sodium.constants.html#constant.sodium-crypto-secretbox-keybytes">SODIUM_CRYPTO_SECRETBOX_KEYBYTES</a></code></strong></a>
     (32 bytes), a <span class="classname">SodiumException</span> will be thrown.
    </span>
   </li>
  </ul>


name: sodium_crypto_secretbox
purpose: Authenticated shared-key encryption
manual_id: function.sodium-crypto-secretbox
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description: <p class="para"> Returns the encrypted string. </p>
errors:
<ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara">
     If <code class="parameter">nonce</code> has a length of bytes different than
     <a href="sodium.constants.html#constant.sodium-crypto-secretbox-noncebytes" class="link"><strong><code><a href="sodium.constants.html#constant.sodium-crypto-secretbox-noncebytes">SODIUM_CRYPTO_SECRETBOX_NONCEBYTES</a></code></strong></a>
     (24 bytes), a <span class="classname">SodiumException</span> will be thrown.
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     If <code class="parameter">key</code> has a length of bytes different than
     <a href="sodium.constants.html#constant.sodium-crypto-secretbox-keybytes" class="link"><strong><code><a href="sodium.constants.html#constant.sodium-crypto-secretbox-keybytes">SODIUM_CRYPTO_SECRETBOX_KEYBYTES</a></code></strong></a>
     (32 bytes), a <span class="classname">SodiumException</span> will be thrown.
    </span>
   </li>
   <li class="listitem">
    <span class="simpara">
     Throws a <span class="classname">SodiumException</span> on failure.
    </span>
   </li>
  </ul>


name: sodium_crypto_secretstream_xchacha20poly1305_init_push
purpose: Initialize a secretstream context for encryption
manual_id: function.sodium-crypto-secretstream-xchacha20poly1305-init-push
version: PHP 7 >= 7.2.0, PHP 8
return_type: array
return_description:
<p class="para">
   An array with two string values:
  </p>
  <ul class="simplelist">
   <li>The secretstream state, needed for further pushes</li>
   <li>The secretstream header, which needs to be provided to the recipient so they can pull data</li>
  </ul>


name: sodium_crypto_secretstream_xchacha20poly1305_pull
purpose: Decrypt a chunk of data from an encrypted stream
manual_id: function.sodium-crypto-secretstream-xchacha20poly1305-pull
version: PHP 7 >= 7.2.0, PHP 8
return_type: false
return_description:
<p class="para">
   An array with two values:
   <ul class="itemizedlist">
    <li class="listitem">
     <p class="para">
      <span class="type">string</span>; The decrypted chunk
     </p>
    </li>
    <li class="listitem">
     <p class="para">
      <span class="type">int</span>; An optional tag (if provided during push). Possible values:
      <ul class="simplelist">
       <li>
        <strong><code>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE</code></strong>:
        the most common tag, that doesn't add any information about the nature of the message.
       </li>
       <li>
        <strong><code>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL</code></strong>:
        indicates that the message marks the end of the stream, and erases the secret key used to encrypt the previous sequence.
       </li>
       <li>
        <strong><code>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH</code></strong>:
        indicates that the message marks the end of a set of messages, but not the end of the stream.
        For example, a huge JSON string sent as multiple chunks can use this tag to indicate to the application that the
        string is complete and that it can be decoded. But the stream itself is not closed, and more data may follow.
       </li>
       <li>
        <strong><code>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY</code></strong>:
        "forget" the key used to encrypt this message and the previous ones, and derive a new secret key.
       </li>
      </ul>
     </p>
    </li>
   </ul>
  </p>


name: sodium_crypto_sign_open
purpose: Check that the signed message has a valid signature
manual_id: function.sodium-crypto-sign-open
version: PHP 7 >= 7.2.0, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the original signed message on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_crypto_stream_xchacha20_keygen
purpose: Returns a secure random key
manual_id: function.sodium-crypto-stream-xchacha20-keygen
version: PHP 8 >= 8.1.0
return_type: string
return_description:
<p class="para">
   Returns a 32-byte secure random key for use with <span class="function">sodium_crypto_stream_xchacha20</span>.
  </p>


name: sodium_crypto_stream_xchacha20_xor_ic
purpose: Encrypts a message using a nonce and a secret key (no authentication)
manual_id: function.sodium-crypto-stream-xchacha20-xor-ic
version: PHP 8 >= 8.2.0
return_type: string
return_description:
<p class="para">
   Encrypted message,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: sodium_crypto_stream_xchacha20
purpose: Expands the key and nonce into a keystream of pseudorandom bytes
manual_id: function.sodium-crypto-stream-xchacha20
version: PHP 8 >= 8.1.0
return_type: string
return_description:
<p class="para">
   Returns a pseudorandom stream that can be used with <span class="function">sodium_crypto_stream_xchacha20_xor</span>.
  </p>


name: sodium_hex2bin
purpose: Decodes a hexadecimally encoded binary string
manual_id: function.sodium-hex2bin
version: PHP 7 >= 7.2.0, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the binary representation of the given <code class="parameter">string</code> data.
  </p>


name: sodium_memcmp
purpose: Test for equality in constant-time
manual_id: function.sodium-memcmp
version: PHP 7 >= 7.2.0, PHP 8
return_type: int
return_description:
<p class="para">
   Returns <code class="literal">0</code> if both strings are equal; <code class="literal">-1</code> otherwise.
  </p>


name: dba_exists
purpose: Check whether key exists
manual_id: function.dba-exists
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the key exists, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: dba_fetch
purpose: Fetch data specified by key
manual_id: function.dba-fetch
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: string
return_description:
<p class="para">
   Returns the associated string if the key/data pair is found, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> 
   otherwise.
  </p>


name: dba_firstkey
purpose: Fetch first key
manual_id: function.dba-firstkey
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the key on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. 
  </p>


name: dba_handlers
purpose: List all the handlers available
manual_id: function.dba-handlers
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an array of database handlers. If <code class="parameter">full_info</code>
   is set to <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>, the array will be associative with the handlers names as
   keys, and their version information as value. Otherwise, the result will be
   an indexed array of handlers names.  
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    When the internal cdb library is used you will see 
    <code class="literal">cdb</code> and <code class="literal">cdb_make</code>.
   </p>
  </p></blockquote>


name: dba_key_split
purpose: Splits a key in string representation into array representation
manual_id: function.dba-key-split
version: PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an array of the form <code class="literal">array(0 =&gt; group, 1 =&gt; 
   value_name)</code>. This function will return <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if 
   <code class="parameter">key</code> is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: dba_list
purpose: List all open database files
manual_id: function.dba-list
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   An associative array, in the form <code class="literal">resourceid =&gt; filename</code>.
  </p>


name: dba_open
purpose: Open database
manual_id: function.dba-open
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns a positive handle on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>

errors:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> is returned and an <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> level error is issued when
   <code class="parameter">handler</code> is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>, but there is no default handler.
  </p>


name: odbc_autocommit
purpose: Toggle autocommit behaviour
manual_id: function.odbc-autocommit
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Without the <code class="parameter">enable</code> parameter, this function returns
   auto-commit status for <code class="parameter">odbc</code>. Non-zero is
   returned if auto-commit is on, 0 if it is off, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error
   occurs.
  </p>
  <p class="para">
   If <code class="parameter">enable</code> is set, this function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on
   success and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: odbc_columnprivileges
purpose: Lists columns and associated privileges for the given table
manual_id: function.odbc-columnprivileges
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
   This result identifier can be used to fetch a list of columns and
   associated privileges.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">GRANTOR</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">GRANTEE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PRIVILEGE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">IS_GRANTABLE</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">TABLE_CAT</code>, <code class="literal">TABLE_SCHEM</code>,
   <code class="literal">TABLE_NAME</code>, <code class="literal">COLUMN_NAME</code> and <code class="literal">PRIVILEGE</code>.
  </p>


name: odbc_columns
purpose: Lists the column names in specified tables
manual_id: function.odbc-columns
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DATA_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TYPE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_SIZE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">BUFFER_LENGTH</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DECIMAL_DIGITS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NUM_PREC_RADIX</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NULLABLE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">REMARKS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_DEF</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">SQL_DATA_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">SQL_DATETIME_SUB</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">CHAR_OCTET_LENGTH</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">ORDINAL_POSITION</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">IS_NULLABLE</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">TABLE_CAT</code>, <code class="literal">TABLE_SCHEM</code>,
   <code class="literal">TABLE_NAME</code> and <code class="literal">ORDINAL_POSITION</code>.
  </p>


name: odbc_connect
purpose: Connect to a datasource
manual_id: function.odbc-connect
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC connection,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: odbc_connection_string_is_quoted
purpose: Determines if an ODBC connection string value is quoted
manual_id: function.odbc-connection-string-is-quoted
version: PHP 8 >= 8.2.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if quoted properly, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: odbc_connection_string_should_quote
purpose: Determines if an ODBC connection string value should be quoted
manual_id: function.odbc-connection-string-should-quote
version: PHP 8 >= 8.2.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the string should be quoted; <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: odbc_cursor
purpose: Get cursorname
manual_id: function.odbc-cursor
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the cursor name, as a string,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: odbc_data_source
purpose: Returns information about available DSNs
manual_id: function.odbc-data-source
version: PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error, an <span class="type">array</span> upon success, and <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> after fetching
   the last available DSN.
  </p>


name: odbc_error
purpose: Get the last error code
manual_id: function.odbc-error
version: PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8
return_type: string
return_description:
<p class="para">
   If <code class="parameter">odbc</code> is specified, the last state
   of that connection is returned, else the last state of any connection
   is returned.
  </p>
  <p class="para">
   This function returns meaningful value only if last odbc query failed
   (i.e. <span class="function">odbc_exec</span> returned <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>).
  </p>


name: odbc_exec
purpose: Directly execute an SQL statement
manual_id: function.odbc-exec
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier if the SQL command was executed
   successfully, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_fetch_array
purpose: Fetch a result row as an associative array
manual_id: function.odbc-fetch-array
version: PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns an array that corresponds to the fetched row, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there 
   are no more rows.
  </p>


name: odbc_fetch_into
purpose: Fetch one result row into array
manual_id: function.odbc-fetch-into
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: array
return_description:
<p class="para">
   Returns the number of columns in the result;
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_fetch_object
purpose: Fetch a result row as an object
manual_id: function.odbc-fetch-object
version: PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8
return_type: object
return_description:
<p class="para">
   Returns an object that corresponds to the fetched row, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there 
   are no more rows.
  </p>


name: odbc_fetch_row
purpose: Fetch a row
manual_id: function.odbc-fetch-row
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if there was a row, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: odbc_field_len
purpose: Get the length (precision) of a field
manual_id: function.odbc-field-len
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the field length, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_field_name
purpose: Get the columnname
manual_id: function.odbc-field-name
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the field name as a string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_field_num
purpose: Return column number
manual_id: function.odbc-field-num
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the field number as a integer, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
   Field numbering starts at 1.
  </p>


name: odbc_field_scale
purpose: Get the scale of a field
manual_id: function.odbc-field-scale
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the field scale as a integer, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_field_type
purpose: Datatype of a field
manual_id: function.odbc-field-type
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the field type as a string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_foreignkeys
purpose: Retrieves a list of foreign keys
manual_id: function.odbc-foreignkeys
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">PKTABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PKTABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PKTABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PKCOLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">FKTABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">FKTABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">FKTABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">FKCOLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">KEY_SEQ</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">UPDATE_RULE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DELETE_RULE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">FK_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PK_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DEFERRABILITY</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   If the foreign keys associated with a primary key are requested, the result set
   is ordered by <code class="literal">FKTABLE_CAT</code>, <code class="literal">FKTABLE_SCHEM</code>,
   <code class="literal">FKTABLE_NAME</code> and <code class="literal">KEY_SEQ</code>.
   If the primary keys associated with a foreign key are requested, the result set
   is ordered by <code class="literal">PKTABLE_CAT</code>, <code class="literal">PKTABLE_SCHEM</code>,
   <code class="literal">PKTABLE_NAME</code> and <code class="literal">KEY_SEQ</code>.
  </p>
  <p class="simpara">
   If <code class="parameter">pk_table</code> contains a table name,
   <span class="function">odbc_foreignkeys</span> returns a result set
   containing the primary key of the specified table and all of the
   foreign keys that refer to it.
  </p>
  <p class="simpara">
   If <code class="parameter">fk_table</code> contains a table name,
   <span class="function">odbc_foreignkeys</span> returns a result set
   containing all of the foreign keys in the specified table and the
   primary keys (in other tables) to which they refer.
  </p>
  <p class="simpara">
   If both <code class="parameter">pk_table</code> and
   <code class="parameter">fk_table</code> contain table names,
   <span class="function">odbc_foreignkeys</span> returns the foreign keys in
   the table specified in <code class="parameter">fk_table</code> that refer
   to the primary key of the table specified in
   <code class="parameter">pk_table</code>. This should be one key at most.
  </p>


name: odbc_gettypeinfo
purpose: Retrieves information about data types supported by the data source
manual_id: function.odbc-gettypeinfo
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara">TYPE_NAME</span></li>
    <li class="listitem"><span class="simpara">DATA_TYPE</span></li>
    <li class="listitem"><span class="simpara">PRECISION</span></li>
    <li class="listitem"><span class="simpara">LITERAL_PREFIX</span></li>
    <li class="listitem"><span class="simpara">LITERAL_SUFFIX</span></li>
    <li class="listitem"><span class="simpara">CREATE_PARAMS</span></li>
    <li class="listitem"><span class="simpara">NULLABLE</span></li>
    <li class="listitem"><span class="simpara">CASE_SENSITIVE</span></li>
    <li class="listitem"><span class="simpara">SEARCHABLE</span></li>
    <li class="listitem"><span class="simpara">UNSIGNED_ATTRIBUTE</span></li>
    <li class="listitem"><span class="simpara">MONEY</span></li>
    <li class="listitem"><span class="simpara">AUTO_INCREMENT</span></li>
    <li class="listitem"><span class="simpara">LOCAL_TYPE_NAME</span></li>
    <li class="listitem"><span class="simpara">MINIMUM_SCALE</span></li>
    <li class="listitem"><span class="simpara">MAXIMUM_SCALE</span></li>
   </ul>
  </p>
  <p class="para">
   The result set is ordered by DATA_TYPE and TYPE_NAME.
  </p>


name: odbc_next_result
purpose: Checks if multiple results are available
manual_id: function.odbc-next-result
version: PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if there are more result sets, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> otherwise.
  </p>


name: odbc_num_rows
purpose: Number of rows in a result
manual_id: function.odbc-num-rows
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: int
return_description:
<p class="para">
   Returns the number of rows in an ODBC result.
   This function will return -1 on error.
  </p>


name: odbc_pconnect
purpose: Open a persistent database connection
manual_id: function.odbc-pconnect
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC connection,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
   error.
  </p>


name: odbc_prepare
purpose: Prepares a statement for execution
manual_id: function.odbc-prepare
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier if the SQL command was prepared
   successfully. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_primarykeys
purpose: Gets the primary keys for a table
manual_id: function.odbc-primarykeys
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">KEY_SEQ</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PK_NAME</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">TABLE_CAT</code>, <code class="literal">TABLE_SCHEM</code>,
   <code class="literal">TABLE_NAME</code> and <code class="literal">KEY_SEQ</code>.
  </p>


name: odbc_procedurecolumns
purpose: Retrieve information about parameters to procedures
manual_id: function.odbc-procedurecolumns
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the list of input and output parameters, as well as the
   columns that make up the result set for the specified procedures. 
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DATA_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TYPE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_SIZE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">BUFFER_LENGTH</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DECIMAL_DIGITS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NUM_PREC_RADIX</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NULLABLE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">REMARKS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_DEF</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">SQL_DATA_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">SQL_DATETIME_SUB</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">CHAR_OCTET_LENGTH</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">ORDINAL_POSITION</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">IS_NULLABLE</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">PROCEDURE_CAT</code>, <code class="literal">PROCEDURE_SCHEM</code>,
   <code class="literal">PROCEDURE_NAME</code> and <code class="literal">COLUMN_TYPE</code>.
  </p>


name: odbc_procedures
purpose: Get the list of procedures stored in a specific data source
manual_id: function.odbc-procedures
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC
   result identifier containing the information or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NUM_INPUT_PARAMS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NUM_OUTPUT_PARAMS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NUM_RESULT_SETS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">REMARKS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PROCEDURE_TYPE</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
    The result set is ordered by <code class="literal">PROCEDURE_CAT</code>,
    <code class="literal">PROCEDURE_SCHEMA</code> and <code class="literal">PROCEDURE_NAME</code>.
  </p>


name: odbc_result_all
purpose: Print result as HTML table
manual_id: function.odbc-result-all
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns the number of rows in the result or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: odbc_result
purpose: Get result data
manual_id: function.odbc-result
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: null
return_description:
<p class="para">
   Returns the string contents of the field, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error, <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> for
   NULL data, or <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> for binary data.
  </p>


name: odbc_specialcolumns
purpose: Retrieves special columns
manual_id: function.odbc-specialcolumns
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on
   failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">SCOPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DATA_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TYPE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_SIZE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">BUFFER_LENGTH</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">DECIMAL_DIGITS</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PSEUDO_COLUMN</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">SCOPE</code>.
  </p>


name: odbc_statistics
purpose: Retrieve statistics about a table
manual_id: function.odbc-statistics
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">NON_UNIQUE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">INDEX_QUALIFIER</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">INDEX_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">ORDINAL_POSITION</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">COLUMN_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">ASC_OR_DESC</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">CARDINALITY</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PAGES</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">FILTER_CONDITION</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">NON_UNIQUE</code>, <code class="literal">TYPE</code>, <code class="literal">INDEX_QUALIFIER</code>,
   <code class="literal">INDEX_NAME</code> and <code class="literal">ORDINAL_POSITION</code>.
  </p>


name: odbc_tableprivileges
purpose: Lists tables and the privileges associated with each table
manual_id: function.odbc-tableprivileges
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   An ODBC result identifier or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">GRANTOR</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">GRANTEE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">PRIVILEGE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">IS_GRANTABLE</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">TABLE_CAT</code>, <code class="literal">TABLE_SCHEM</code>,
   <code class="literal">TABLE_NAME</code>, <code class="literal">PRIVILEGE</code> and <code class="literal">GRANTEE</code>.
  </p>


name: odbc_tables
purpose: Get the list of table names stored in a specific data source
manual_id: function.odbc-tables
version: PHP 4, PHP 5, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an ODBC result identifier containing the information 
    or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   The result set has the following columns:
   <ul class="itemizedlist">
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_CAT</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_SCHEM</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_NAME</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">TABLE_TYPE</code></span></li>
    <li class="listitem"><span class="simpara"><code class="literal">REMARKS</code></span></li>
   </ul>
   Drivers can report additional columns.
  </p>
  <p class="simpara">
   The result set is ordered by <code class="literal">TABLE_TYPE</code>, <code class="literal">TABLE_CAT</code>,
   <code class="literal">TABLE_SCHEM</code> and <code class="literal">TABLE_NAME</code>.
  </p>


name: PDO.beginTransaction
purpose: Initiates a transaction
manual_id: pdo.begintransaction
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: bool
errors:
<p class="para">
   Throws a <span class="classname">PDOException</span> if there is already a transaction started or the driver does not support transactions.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">An exception is raised even when the <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> attribute is not <strong><code><a href="pdo.constants.html#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.</span></p></blockquote>


name: PDO.commit
purpose: Commits a transaction
manual_id: pdo.commit
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: bool
errors:
<p class="para">
   Throws a <span class="classname">PDOException</span> if there is no active transaction.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">An exception is raised even when the <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> attribute is not <strong><code><a href="pdo.constants.html#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.</span></p></blockquote>


name: PDO.__construct
purpose: Creates a PDO instance representing a connection to a database
manual_id: pdo.construct
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
errors:
<p class="para">
    <span class="methodname">PDO::__construct</span> throws a <span class="classname">PDOException</span> if the attempt
   to connect to the requested database fails, regardless of which <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> is currently set.
  </p>


name: PDO.errorCode
purpose: Fetch the SQLSTATE associated with the last operation on the database handle
manual_id: pdo.errorcode
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: null
return_description:
<p class="para">
   Returns an SQLSTATE, a five characters alphanumeric identifier defined in
   the ANSI SQL-92 standard.  Briefly, an SQLSTATE consists of a
   two characters class value followed by a three characters subclass value. A
   class value of 01 indicates a warning and is accompanied by a return code
   of SQL_SUCCESS_WITH_INFO. Class values other than &#039;01&#039;, except for the
   class &#039;IM&#039;, indicate an error.  The class &#039;IM&#039; is specific to warnings
   and errors that derive from the implementation of PDO (or perhaps ODBC,
   if you&#039;re using the ODBC driver) itself.  The subclass value &#039;000&#039; in any
   class indicates that there is no subclass for that SQLSTATE.
  </p>
  <p class="para">
    <span class="methodname">PDO::errorCode</span> only retrieves error codes for operations
   performed directly on the database handle. If you create a PDOStatement
   object through  <span class="methodname">PDO::prepare</span> or
    <span class="methodname">PDO::query</span> and invoke an error on the statement
   handle,  <span class="methodname">PDO::errorCode</span> will not reflect that error.
   You must call  <span class="methodname">PDOStatement::errorCode</span> to return the error
   code for an operation performed on a particular statement handle.
  </p>
  <p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if no operation has been run on the database handle.
  </p>


name: PDO.errorInfo
purpose: Fetch extended error information associated with the last operation on the database handle
manual_id: pdo.errorinfo
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: array
return_description:
<p class="para">
    <span class="methodname">PDO::errorInfo</span> returns an array of error information
   about the last operation performed by this database handle. The array
   consists of at least the following fields:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Element</th>
       <th>Information</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>0</td>
       <td>SQLSTATE error code (a five characters alphanumeric identifier defined
               in the ANSI SQL standard).</td>
      </tr>

      <tr>
       <td>1</td>
       <td>Driver-specific error code.</td>
      </tr>

      <tr>
       <td>2</td>
       <td>Driver-specific error message.</td>
      </tr>

     </tbody>
    
   </table>

  </p>

  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    If the SQLSTATE error code is not set or there is no driver-specific
    error, the elements following element 0 will be set to <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>.
    </p>
  </p></blockquote>

  <p class="para">
    <span class="methodname">PDO::errorInfo</span> only retrieves error information for
   operations performed directly on the database handle. If you create a
   PDOStatement object through  <span class="methodname">PDO::prepare</span> or
    <span class="methodname">PDO::query</span> and invoke an error on the statement
   handle,  <span class="methodname">PDO::errorInfo</span> will not reflect the error
   from the statement handle. You must call
    <span class="methodname">PDOStatement::errorInfo</span> to return the error
   information for an operation performed on a particular statement handle.
  </p>


name: PDO.exec
purpose: Execute an SQL statement and return the number of affected rows
manual_id: pdo.exec
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: false
return_description:
<p class="para">
    <span class="methodname">PDO::exec</span> returns the number of rows that were modified
   or deleted by the SQL statement you issued. If no rows were affected, 
    <span class="methodname">PDO::exec</span> returns <code class="literal">0</code>. 
  </p>

  <div class="warning"><strong class="warning">Warning</strong><p class="simpara">This function may
return Boolean <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, but may also return a non-Boolean value which
evaluates to <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>. Please read the section on <a href="language.types.boolean.html" class="link">Booleans</a> for more
information. Use <a href="language.operators.comparison.html" class="link">the ===
operator</a> for testing the return value of this
function.</p></div>
  <p class="para">
   The following example incorrectly relies on the return value of
    <span class="methodname">PDO::exec</span>, wherein a statement that affected 0 rows
   results in a call to <span class="function">die</span>:
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">exec</span><span style="color: #007700">() or die(</span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$db</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">errorInfo</span><span style="color: #007700">(), </span><span style="color: #0000BB">true</span><span style="color: #007700">)); </span><span style="color: #FF8000">// incorrect<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </p>

errors:
<p class="para">
Emits an error with level <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> if the attribute <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> is set
to <strong><code><a href="pdo.constants.html#pdo.constants.errmode-warning">PDO::ERRMODE_WARNING</a></code></strong>.
</p>
<p class="para">
Throws a <span class="classname">PDOException</span> if the attribute <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong>
is set to <strong><code><a href="pdo.constants.html#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.
</p>


name: PDO.getAttribute
purpose: Retrieve a database connection attribute
manual_id: pdo.getattribute
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0
return_type: mixed
return_description:
<p class="para">
   A successful call returns the value of the requested PDO attribute.
   An unsuccessful call returns <code class="literal">null</code>.
  </p>

errors:
<p class="para">
    <span class="methodname">PDO::getAttribute</span> may throw a <span class="exceptionname">PDOException</span>
   when the underlying driver does not support the requested <code class="parameter">attribute</code>.
  </p>


name: PDO.getAvailableDrivers
purpose: Return an array of available PDO drivers
manual_id: pdo.getavailabledrivers
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 1.0.3
return_type: array
return_description:
<p class="para">
    <span class="methodname">PDO::getAvailableDrivers</span> returns an array of PDO driver names. If
   no drivers are available, it returns an empty array.
  </p>


name: PDO.inTransaction
purpose: Checks if inside a transaction
manual_id: pdo.intransaction
version: PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7, PHP 8
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if a transaction is currently active, and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if not.
  </p>


name: PDO.lastInsertId
purpose: Returns the ID of the last inserted row or sequence value
manual_id: pdo.lastinsertid
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: false
return_description:
<p class="para">
   If a sequence name was not specified for the <code class="parameter">name</code>
   parameter,  <span class="methodname">PDO::lastInsertId</span> returns a
   string representing the row ID of the last row that was inserted into
   the database.
  </p>
  <p class="para">
   If a sequence name was specified for the <code class="parameter">name</code>
   parameter,  <span class="methodname">PDO::lastInsertId</span> returns a
   string representing the last value retrieved from the specified sequence
   object.
  </p>
  <p class="para">
   If the PDO driver does not support this capability,
    <span class="methodname">PDO::lastInsertId</span> triggers an
   <code class="literal">IM001</code> SQLSTATE.
  </p>

errors:
<p class="para">
Emits an error with level <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> if the attribute <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> is set
to <strong><code><a href="pdo.constants.html#pdo.constants.errmode-warning">PDO::ERRMODE_WARNING</a></code></strong>.
</p>
<p class="para">
Throws a <span class="classname">PDOException</span> if the attribute <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong>
is set to <strong><code><a href="pdo.constants.html#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.
</p>


name: PDO.prepare
purpose: Prepares a statement for execution and returns a statement object
manual_id: pdo.prepare
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PHP 8,PECL pdo >= 0.1.0
return_type: false
return_description:
<p class="para">
   If the database server successfully prepares the statement,
    <span class="methodname">PDO::prepare</span> returns a
   <span class="classname">PDOStatement</span> object.
   If the database server cannot successfully prepare the statement,
    <span class="methodname">PDO::prepare</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> or emits
   <span class="classname">PDOException</span> (depending on <a href="pdo.error-handling.html" class="link">error handling</a>).
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Emulated prepared statements does not communicate with the database server
    so  <span class="methodname">PDO::prepare</span> does not check the statement.
   </p>
  </p></blockquote>

errors:
<p class="para">
Emits an error with level <strong><code><a href="errorfunc.constants.html#constant.e-warning">E_WARNING</a></code></strong> if the attribute <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong> is set
to <strong><code><a href="pdo.constants.html#pdo.constants.errmode-warning">PDO::ERRMODE_WARNING</a></code></strong>.
</p>
<p class="para">
Throws a <span class="classname">PDOException</span> if the attribute <strong><code><a href="pdo.constants.html#pdo.constants.attr-errmode">PDO::ATTR_ERRMODE</a></code></strong>
is set to <strong><code><a href="pdo.constants.html#pdo.constants.errmode-exception">PDO::ERRMODE_EXCEPTION</a></code></strong>.
</p>


name: PDO.query
purpose: Prepares and executes an SQL statement without placeholders
manual_id: pdo.query
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0
return_type: false
return_description:
<p class="para">
    Returns a <span class="classname">PDOStatement</span> object or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: PDO.quote
purpose: Quotes a string for use in a query
manual_id: pdo.quote
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.1
return_type: false
return_description:
<p class="para">
   Returns a quoted string that is theoretically safe to pass into an
   SQL statement.  Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the driver does not support quoting in
   this way.
  </p>


name: PDOStatement.columnCount
purpose: Returns the number of columns in the result set
manual_id: pdostatement.columncount
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0
return_type: int
return_description:
<p class="para">
   Returns the number of columns in the result set represented by the
   PDOStatement object, even if the result set is empty. If there is no result set,
    <span class="methodname">PDOStatement::columnCount</span> returns <code class="literal">0</code>.
  </p>


name: PDOStatement.debugDumpParams
purpose: Dump an SQL prepared command
manual_id: pdostatement.debugdumpparams
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0
return_type: string
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> in case of an error.
  </p>


name: PDOStatement.errorCode
purpose: Fetch the SQLSTATE associated with the last operation on the statement handle
manual_id: pdostatement.errorcode
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: null
return_description:
<p class="para">
   Identical to  <span class="methodname">PDO::errorCode</span>, except that 
    <span class="methodname">PDOStatement::errorCode</span> only retrieves error codes
   for operations performed with PDOStatement objects.
  </p>


name: PDOStatement.errorInfo
purpose: Fetch extended error information associated with the last operation on the statement handle
manual_id: pdostatement.errorinfo
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: array
return_description:
<p class="para">
    <span class="methodname">PDOStatement::errorInfo</span> returns an array of
   error information about the last operation performed by this
   statement handle. The array consists of at least the following fields:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Element</th>
       <th>Information</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>0</td>
       <td>SQLSTATE error code (a five characters alphanumeric identifier defined
               in the ANSI SQL standard).</td>
      </tr>

      <tr>
       <td>1</td>
       <td>Driver specific error code.</td>
      </tr>

      <tr>
       <td>2</td>
       <td>Driver specific error message.</td>
      </tr>

     </tbody>
    
   </table>

  </p>


name: PDOStatement.fetch
purpose: Fetches the next row from a result set
manual_id: pdostatement.fetch
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: mixed
return_description:
<p class="para">
   The return value of this function on success depends on the fetch type. In
   all cases, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> is returned on failure or if there are no more rows.
  </p>


name: PDOStatement.fetchAll
purpose: Fetches the remaining rows from a result set
manual_id: pdostatement.fetchall
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0
return_type: array
return_description:
<p class="para">
    <span class="methodname">PDOStatement::fetchAll</span> returns an array containing
   all of the remaining rows in the result set. The array represents each
   row as either an array of column values or an object with properties
   corresponding to each column name. An empty array is returned if there
   are zero results to fetch.
  </p>
  <p class="para">
   Using this method to fetch large result sets will result in a heavy
   demand on system and possibly network resources. Rather than retrieving
   all of the data and manipulating it in PHP, consider using the database
   server to manipulate the result sets. For example, use the WHERE and
   ORDER BY clauses in SQL to restrict results before retrieving and
   processing them with PHP.
  </p>


name: PDOStatement.fetchColumn
purpose: Returns a single column from the next row of a result set
manual_id: pdostatement.fetchcolumn
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0
return_type: mixed
return_description:
<p class="para">
    <span class="methodname">PDOStatement::fetchColumn</span> returns a single column
   from the next row of a result set or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there are no more rows.
  </p>
  <div class="warning"><strong class="warning">Warning</strong>
   <p class="para">
    There is no way to return another column from the same row if you
    use  <span class="methodname">PDOStatement::fetchColumn</span> to retrieve data.
   </p>
  </div>


name: PDOStatement.fetchObject
purpose: Fetches the next row and returns it as an object
manual_id: pdostatement.fetchobject
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.4
return_type: false
return_description:
<p class="para">
   Returns an instance of the required class with property names that
   correspond to the column names  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: PDOStatement.getColumnMeta
purpose: Returns metadata for a column in a result set
manual_id: pdostatement.getcolumnmeta
version: PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0
return_type: false
return_description:
<p class="para">
   Returns an associative array containing the following values representing
   the metadata for a single column:
  </p>
   <table class="doctable table">
    <caption><strong>Column metadata</strong></caption>
    
     <col /> 
     <col /> 
     <thead>
      <tr>
       <th>Name</th>
       <th>Value</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><code class="literal">native_type</code></td>
       <td>The PHP native type used to represent the column value.</td>
      </tr>

      <tr>
       <td><code class="literal">driver:decl_type</code></td>
       <td>The SQL type used to represent the column value in the database.
       If the column in the result set is the result of a function, this value
       is not returned by  <span class="methodname">PDOStatement::getColumnMeta</span>.
       </td>
      </tr>

      <tr>
       <td><code class="literal">flags</code></td>
       <td>Any flags set for this column.</td>
      </tr>

      <tr>
       <td><code class="literal">name</code></td>
       <td>The name of this column as returned by the database.</td>
      </tr>

      <tr>
       <td><code class="literal">table</code></td>
       <td>The name of this column&#039;s table as returned by the database.</td>
      </tr>

      <tr>
       <td><code class="literal">len</code></td>
       <td>The length of this column. Normally <code class="literal">-1</code> for
       types other than floating point decimals.</td>
      </tr>

      <tr>
       <td><code class="literal">precision</code></td>
       <td>The numeric precision of this column. Normally
       <code class="literal">0</code> for types other than floating point
       decimals.</td>
      </tr>

      <tr>
       <td><code class="literal">pdo_type</code></td>
       <td>The type of this column as represented by the
       <a href="pdo.constants.html" class="link"><code class="literal">PDO::PARAM_*</code>
       constants</a>.</td>
      </tr>

     </tbody>
    
   </table>

  <p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the requested column does not exist in the result set,
   or if no result set exists.
  </p>


name: PDO.cubrid_schema
purpose: Get the requested schema information
manual_id: pdo.cubrid-schema
version: PECL PDO_CUBRID >= 8.3.0.0001
return_type: array
return_description:
<p class="para">
    Array containing the schema information, when process is successful; 
  </p>
  <p class="para">
    FALSE, when process is unsuccessful
  </p>


name: PDO.pgsqlCopyToArray
purpose: Copy data from database table into PHP array
manual_id: pdo.pgsqlcopytoarray
version: PHP 5 >= 5.3.3, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   Returns an array of rows, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: PDO.pgsqlGetNotify
purpose: Get asynchronous notification
manual_id: pdo.pgsqlgetnotify
version: PHP 5 >= 5.6.0, PHP 7, PHP 8
return_type: false
return_description:
<p class="para">
   If one or more notifications is pending, returns a single row, with fields
   <code class="literal">message</code> and <code class="literal">pid</code>, otherwise returns
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: PDO.pgsqlLOBCreate
purpose: Creates a new large object
manual_id: pdo.pgsqllobcreate
version: PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL pdo_pgsql >= 1.0.2
return_type: string
return_description:
<p class="para">
   Returns the OID of the newly created large object on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>
   on failure.
  </p>


name: cubrid_close_prepare
purpose: Close the request handle
manual_id: function.cubrid-close-prepare
version: PECL CUBRID >= 8.3.0
return_type: bool
return_description:
<p class="para">
    Return <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success.
  </p>


name: cubrid_col_get
purpose: Get contents of collection type column using OID
manual_id: function.cubrid-col-get
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    Array (0-based numerical array) containing the elements you requested,
    when process is successful;
  </p>
    <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> (to distinguish the error from the situation of attribute having
    empty collection or NULL, in case of error, a warning message is shown; in
    such case you can check the error by using
    <span class="function">cubrid_error_code</span>), when process is unsuccessful.
  </p>


name: cubrid_col_size
purpose: Get the number of elements in collection type column using OID
manual_id: function.cubrid-col-size
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    Number of elements, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_column_names
purpose: Get the column names in result
manual_id: function.cubrid-column-names
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    Array of string values containing the column names, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. 
  </p>


name: cubrid_column_types
purpose: Get column types in result
manual_id: function.cubrid-column-types
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    Array of string values containing the column types, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_connect_with_url
purpose: Establish the environment for connecting to CUBRID server
manual_id: function.cubrid-connect-with-url
version: PECL CUBRID >= 8.3.1
return_type: resource
return_description:
<p class="para">
   Connection identifier, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_connect
purpose: Open a connection to a CUBRID Server
manual_id: function.cubrid-connect
version: PECL CUBRID >= 8.3.1
return_type: resource
return_description:
<p class="para">
    Connection identifier, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. 
  </p>


name: cubrid_current_oid
purpose: Get OID of the current cursor location
manual_id: function.cubrid-current-oid
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
    Oid of current cursor location, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_error_code_facility
purpose: Get the facility code of error
manual_id: function.cubrid-error-code-facility
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    Facility code of the error code that occurred: 
    <strong><code>CUBRID_FACILITY_DBMS</code></strong>, <strong><code>CUBRID_FACILITY_CAS</code></strong>,
    <strong><code>CUBRID_FACILITY_CCI</code></strong>, <strong><code>CUBRID_FACILITY_CLIENT</code></strong>.
  </p>


name: cubrid_error_code
purpose: Get error code for the most recent function call
manual_id: function.cubrid-error-code
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
   Error code of the error that occurred, or <code class="literal">0</code> (zero) if no
   error occurred. 
  </p>
  <p class="para"/>


name: cubrid_execute
purpose: Execute a prepared SQL statement
manual_id: function.cubrid-execute
version: PECL CUBRID >= 8.3.0
return_type: bool
return_description:
<p class="para">
    Request identifier, when process is successful and first param is
    conn_identifier; <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>, when process is successful and first argument is
    request_identifier, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_fetch
purpose: Fetch the next row from a result set
manual_id: function.cubrid-fetch
version: PECL CUBRID >= 8.3.0
return_type: mixed
return_description:
<p class="para">Result array or object, when process is successful.</p>
  <p class="para"><strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when there are no more rows; NULL, when process is unsuccessful.</p>
  <p class="para">The result can be received either as an array or as an object, and you can decide which data type to use by setting the <code class="parameter">type</code> argument. The <code class="parameter">type</code> variable can be set to one of the following values:</p>
    <ul class="simplelist">
        <li>CUBRID_NUM : Numerical array (0-based)</li>
        <li>CUBRID_ASSOC : Associative array</li>
        <li>CUBRID_BOTH : Numerical & Associative array (default)</li>
        <li>CUBRID_OBJECT : object that has the attribute name as the column name of query result</li>
    </ul>  
  <p class="para">When <code class="parameter">type</code> argument is omitted, the result will be received using CUBRID_BOTH option as default. When you want to receive query result in object data type, the column name of the result must obey the naming rules for identifiers in PHP.  For example, column name such as &quot;count(*)&quot; cannot be received in object type.</p>


name: cubrid_get_autocommit
purpose: Get auto-commit mode of the connection
manual_id: function.cubrid-get-autocommit
version: PECL CUBRID >= 8.4.0
return_type: bool
return_description:
<p class="para">
    <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>, when auto-commit is on.
  </p>
  <p class="para">
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when auto-commit is off.
  </p>
  <p class="para">
   <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on error.
  </p>


name: cubrid_get_charset
purpose: Return the current CUBRID connection charset
manual_id: function.cubrid-get-charset
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   A string that represents the CUBRID connection charset on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_get_class_name
purpose: Get the class name using OID
manual_id: function.cubrid-get-class-name
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
    Class name when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_get_client_info
purpose: Return the client library version
manual_id: function.cubrid-get-client-info
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   A string that represents the client library version on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_get_db_parameter
purpose: Returns the CUBRID database parameters
manual_id: function.cubrid-get-db-parameter
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
   An associative array with CUBRID database parameters; on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_get_query_timeout
purpose: Get the query timeout value of the request
manual_id: function.cubrid-get-query-timeout
version: PECL CUBRID >= 8.4.1
return_type: int
return_description:
<p class="para">
   Returns the query timeout value in milliseconds of the current request on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_get_server_info
purpose: Return the CUBRID server version
manual_id: function.cubrid-get-server-info
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   A string that represents the CUBRID server version on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_get
purpose: Get a column using OID
manual_id: function.cubrid-get
version: PECL CUBRID >= 8.3.0
return_type: mixed
return_description:
<p class="para">
   Content of the requested attribute, when process is successful; When
   <code class="parameter">attr</code> is set with string data type, the result is
   returned as a string; when <code class="parameter">attr</code> is set with array
   data type (0-based numerical array), then the result is returned in
   associative array. When <code class="parameter">attr</code> is omitted, then all
   attributes are received in array form.
  </p>
  <p class="para">
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when process is unsuccessful or result is NULL (If error occurs to
   distinguish empty string from NULL, then it prints the warning message.
   You can check the error by using <span class="function">cubrid_error_code</span>)
  </p>


name: cubrid_insert_id
purpose: Return the ID generated for the last updated AUTO_INCREMENT column
manual_id: function.cubrid-insert-id
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   A string representing the ID generated for an AUTO_INCREMENT column by the
   previous query, on success.
  </p>
  <p class="para">
   0, if the previous query does not generate new rows.
  </p>
  <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_is_instance
purpose: Check whether the instance pointed by OID exists
manual_id: function.cubrid-is-instance
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    1, if such instance exists; 
  </p>
    <p class="para">
    0, if such instance does not exist; 
  </p>
    <p class="para">
    -1, in case of error
  </p>


name: cubrid_lob_get
purpose: Get BLOB/CLOB data
manual_id: function.cubrid-lob-get
version: PECL CUBRID >= 8.3.1
return_type: array
return_description:
<p class="para">
    Return an array of LOB resources, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_lob_size
purpose: Get BLOB/CLOB data size
manual_id: function.cubrid-lob-size
version: PECL CUBRID >= 8.3.1
return_type: string
return_description:
<p class="para">
    A string representing LOB data size, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_lob2_new
purpose: Create a lob object
manual_id: function.cubrid-lob2-new
version: PECL CUBRID >= 8.4.1
return_type: resource
return_description:
<p class="para">
   Lob identifier when it is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_lob2_read
purpose: Read from BLOB/CLOB data
manual_id: function.cubrid-lob2-read
version: PECL CUBRID >= 8.4.1
return_type: string
return_description:
<p class="para">
    Returns the contents as a string, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when there is no more data, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> on failure.
  </p>


name: cubrid_lob2_size64
purpose: Get a lob object's size
manual_id: function.cubrid-lob2-size64
version: PECL CUBRID >= 8.4.1
return_type: string
return_description:
<p class="para">
   It will return the size of the LOB object as a string when it processes successfully, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_lob2_size
purpose: Get a lob object's size
manual_id: function.cubrid-lob2-size
version: PECL CUBRID >= 8.4.1
return_type: int
return_description:
<p class="para">
   It will return the size of the LOB object when it processes successfully, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_lob2_tell64
purpose: Tell the cursor position of the LOB object
manual_id: function.cubrid-lob2-tell64
version: PECL CUBRID >= 8.4.1
return_type: string
return_description:
<p class="para">
    It will return the cursor position on the LOB object as a string when it processes successfully, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_lob2_tell
purpose: Tell the cursor position of the LOB object
manual_id: function.cubrid-lob2-tell
version: PECL CUBRID >= 8.4.1
return_type: int
return_description:
<p class="para">
    It will return the cursor position on the LOB object when it processes successfully, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_num_cols
purpose: Return the number of columns in the result set
manual_id: function.cubrid-num-cols
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    Number of columns, when process is successful.
  </p>
  <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, if SQL statement is not SELECT.
  </p>


name: cubrid_num_rows
purpose: Get the number of rows in the result set
manual_id: function.cubrid-num-rows
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    Number of rows, when process is successful.
  </p>
  <p class="para">
    0 when the query was done in async mode. 
  </p>
  <p class="para">
    -1, if SQL statement is not SELECT.
  </p>
  <p class="para">
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when process is unsuccessful.
  </p>


name: cubrid_pconnect
purpose: Open a persistent connection to a CUBRID server
manual_id: function.cubrid-pconnect
version: PECL CUBRID >= 8.3.1
return_type: resource
return_description:
<p class="para">
    Connection identifier, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_prepare
purpose: Prepare a SQL statement for execution
manual_id: function.cubrid-prepare
version: PECL CUBRID >= 8.3.0
return_type: resource
return_description:
<p class="para">
    Request identifier, if process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_schema
purpose: Get the requested schema information
manual_id: function.cubrid-schema
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    Array containing the schema information, when process is successful, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_affected_rows
purpose: Return the number of rows affected by the last SQL statement
manual_id: function.cubrid-affected-rows
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    Number of rows affected by the SQL statement, when process is successful.
  </p>
   <p class="para">
    -1, when SQL statement is not INSERT, DELETE or UPDATE.
  </p>
  <p class="para">
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when the request identifier is not specified, and there is no last
   request.
  </p>


name: cubrid_client_encoding
purpose: Return the current CUBRID connection charset
manual_id: function.cubrid-client-encoding
version: PECL CUBRID >= 8.3.1
return_type: string
return_description:
<p class="para">
   A string that represents the CUBRID connection charset; on success.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_close
purpose: Close CUBRID connection
manual_id: function.cubrid-close
version: PECL CUBRID >= 8.3.1
return_type: bool
return_description:
<p class="para">
    <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>, when process is successful.
  </p>
    <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when process is unsuccessful.
  </p>


name: cubrid_db_name
purpose: Get db name from results of cubrid_list_dbs
manual_id: function.cubrid-db-name
version: PECL CUBRID >= 8.3.1
return_type: string
return_description:
<p class="para">
   Returns the database name on success, and <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure. If <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>
   is returned, use <span class="function">cubrid_error</span> to determine the nature
   of the error.
  </p>


name: cubrid_errno
purpose: Return the numerical value of the error message from previous CUBRID operation
manual_id: function.cubrid-errno
version: PECL CUBRID >= 8.3.1
return_type: int
return_description:
<p class="para">
   Returns the error number from the last CUBRID function, or <code class="literal">0</code> (zero) if no error occurred.
  </p>


name: cubrid_fetch_array
purpose: Fetch a result row as an associative array, a numeric array, or both
manual_id: function.cubrid-fetch-array
version: PECL CUBRID >=8.3.0
return_type: array
return_description:
<p class="para">Returns an array of strings that corresponds to the fetched row, when process is successful.</p>
  <p class="para"><strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when there are no more rows; NULL, when process is unsuccessful.</p>
  <p class="para">The type of returned array depends on how type is defined. By using CUBRID_BOTH (default), you&#039;ll get an array with both associative and number indices, and you can decide which data type to use by setting the <code class="parameter">type</code> argument. The <code class="parameter">type</code> variable can be set to one of the following values:</p>
    <ul class="simplelist">
        <li>CUBRID_NUM : Numerical array (0-based)</li>
        <li>CUBRID_ASSOC : Associative array</li>
        <li>CUBRID_BOTH : Numerical & Associative array (default)</li>
    </ul>


name: cubrid_fetch_assoc
purpose: Return the associative array that corresponds to the fetched row
manual_id: function.cubrid-fetch-assoc
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    Associative array, when process is successful.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when there are no more rows; NULL, when process is unsuccessful.
  </p>


name: cubrid_fetch_field
purpose: Get column information from a result and return as an object
manual_id: function.cubrid-fetch-field
version: PECL CUBRID >= 8.3.1
return_type: object
return_description:
<p class="para">
    Object with certain properties of the specific column, when process is successful.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_fetch_lengths
purpose: Return an array with the lengths of the values of each field from the current row
manual_id: function.cubrid-fetch-lengths
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    A numeric array, when process is successful.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_fetch_object
purpose: Fetch the next row and return it as an object
manual_id: function.cubrid-fetch-object
version: PECL CUBRID >= 8.3.0
return_type: object
return_description:
<p class="para">
    An object, when process is successful.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when there are no more rows; NULL, when process is unsuccessful.
  </p>


name: cubrid_fetch_row
purpose: Return a numerical array with the values of the current row
manual_id: function.cubrid-fetch-row
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
    A numerical array, when process is successful.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when there are no more rows; NULL, when process is unsuccessful.
  </p>


name: cubrid_field_flags
purpose: Return a string with the flags of the given field offset
manual_id: function.cubrid-field-flags
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
    A string with flags, when process is successful.
  </p>
  <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when invalid field_offset value.
  </p>
  <p class="para">
    -1 if SQL sentence is not SELECT.
  </p>


name: cubrid_field_len
purpose: Get the maximum length of the specified field
manual_id: function.cubrid-field-len
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    Maximum length, when process is successful.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_field_name
purpose: Return the name of the specified field index
manual_id: function.cubrid-field-name
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
    Name of specified field index, on success.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_field_seek
purpose: Move the result set cursor to the specified field offset
manual_id: function.cubrid-field-seek
version: PECL CUBRID >= 8.3.0
return_type: bool
return_description:
<p class="para">
   <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_field_table
purpose: Return the name of the table of the specified field
manual_id: function.cubrid-field-table
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   Name of the table of the specified field, on success.
  </p>
  <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when invalid field_offset value.
  </p>
  <p class="para">
    -1 if SQL sentence is not SELECT.
  </p>


name: cubrid_field_type
purpose: Return the type of the column corresponding to the given field offset
manual_id: function.cubrid-field-type
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   Type of the column, on success.
  </p>
  <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when invalid field_offset value.
  </p>
  <p class="para">
    -1 if SQL sentence is not SELECT.
  </p>


name: cubrid_list_dbs
purpose: Return an array with the list of all existing CUBRID databases
manual_id: function.cubrid-list-dbs
version: PECL CUBRID >= 8.3.0
return_type: array
return_description:
<p class="para">
   An numeric array with all existing Cubrid databases; on success.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_num_fields
purpose: Return the number of columns in the result set
manual_id: function.cubrid-num-fields
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
   Number of columns, on success.
  </p>
   <p class="para">
    -1 if SQL sentence is not SELECT.
  </p>
  <p class="para">
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> when process is unsuccessful.
  </p>


name: cubrid_ping
purpose: Ping a server connection or reconnect if there is no connection
manual_id: function.cubrid-ping
version: PECL CUBRID >= 8.3.1
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the connection to the server CUBRID server is working, otherwise <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: cubrid_query
purpose: Send a CUBRID query
manual_id: function.cubrid-query
version: PECL CUBRID >= 8.3.1
return_type: resource
return_description:
<p class="para">
   For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset,
   <span class="function">cubrid_query</span> returns a <span class="type">resource</span> on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>
  <p class="para">
   For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc,
   <span class="function">cubrid_query</span> returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>
  <p class="para">
   The returned result resource should be passed to <span class="function">cubrid_fetch_array</span>, and other
   functions for dealing with result tables, to access the returned data.
  </p>
  <p class="para">
   Use <span class="function">cubrid_num_rows</span> to find out how many rows were returned for a SELECT statement or
   <span class="function">cubrid_affected_rows</span> to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.
  </p>
  <p class="para">
   <span class="function">cubrid_query</span> will also fail and return <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>
   if the user does not have permission to access the table(s) referenced by the query.
  </p>


name: cubrid_real_escape_string
purpose: Escape special characters in a string for use in an SQL statement
manual_id: function.cubrid-real-escape-string
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   Escaped string version of the given string, on success.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_result
purpose: Return the value of a specific field in a specific row
manual_id: function.cubrid-result
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
   Value of a specific field, on success (NULL if value if null).
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_unbuffered_query
purpose: Perform a query without fetching the results into memory
manual_id: function.cubrid-unbuffered-query
version: PECL CUBRID >= 8.3.0
return_type: resource
return_description:
<p class="para">
   For SELECT, SHOW, DESCRIBE or EXPLAIN statements returns a request identifier resource on success.
  </p>
  <p class="para">
    For other type of SQL statements, UPDATE, DELETE, DROP, etc, returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success.
  </p>
   <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: cubrid_load_from_glo
purpose: Read data from a GLO instance and save it in a file
manual_id: function.cubrid-load-from-glo
version: PECL CUBRID >= 8.3.0
return_type: int
return_description:
<p class="para">
    <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>, when process is successful.
  </p>
  <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when process is unsuccessful.
  </p>


name: cubrid_new_glo
purpose: Create a glo instance
manual_id: function.cubrid-new-glo
version: PECL CUBRID >= 8.3.0
return_type: string
return_description:
<p class="para">
    Oid of the instance created, when process is successful.
  </p>
    <p class="para">
    <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>, when process is unsuccessful.
  </p>


name: dbase_create
purpose: Creates a database
manual_id: function.dbase-create
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: resource
return_description:
<p class="para">
   Returns a database resource if the database is successfully created,
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurred.
  </p>


name: dbase_get_header_info
purpose: Gets the header info of a database
manual_id: function.dbase-get-header-info
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: array
return_description:
<p class="para">
   An indexed array with an entry for each column in the database. The array index
   starts at 0.
  </p>
  <p class="para">
   Each array element contains an associative array of column information, as
   described here:
   <dl>
    
     <dt>name</dt>
     <dd>
      <span class="simpara">
       The name of the column
      </span>
     </dd>
    
    
     <dt>type</dt>
     <dd>
      <span class="simpara">
       The human-readable name for the dbase type of the column (i.e. date,
       boolean, etc.)
       The supported field types are listed in the <a href="intro.dbase.html" class="link">introduction section</a>.
      </span>
     </dd>
    
    
     <dt>length</dt>
     <dd>
      <span class="simpara">
       The number of bytes this column can hold
      </span>
     </dd>
    
    
     <dt>precision</dt>
     <dd>
      <span class="simpara">
       The number of digits of decimal precision for the column
      </span>
     </dd>
    
    
     <dt>format</dt>
     <dd>
      <span class="simpara">
       A suggested <span class="function">printf</span> format specifier for the column
      </span>
     </dd>
    
    
     <dt>offset</dt>
     <dd>
      <span class="simpara">
       The byte offset of the column from the start of the row
      </span>
     </dd>
    
   </dl>
  </p>
  <p class="para">
   If the database header information cannot be read, <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> is returned.
  </p>


name: dbase_get_record_with_names
purpose: Gets a record from a database as an associative array
manual_id: function.dbase-get-record-with-names
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: array
return_description:
<p class="para">
   An associative array with the record. This will also include a key named
   <code class="literal">deleted</code> which is set to 1 if the record has been marked
   for deletion (see <span class="function">dbase_delete_record</span>).
   Therefore it is not possible to retrieve the value of a field named
   <code class="literal">deleted</code> with this function.
  </p>
  <p class="para">
   Each field is converted to the appropriate PHP type, except:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Dates are left as strings.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      DateTime values are converted to strings.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Integers outside the range
      <strong><code><a href="reserved.constants.html#constant.php-int-min">PHP_INT_MIN</a></code></strong>..<strong><code><a href="reserved.constants.html#constant.php-int-max">PHP_INT_MAX</a></code></strong> are
      returned as strings.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Before dbase 7.0.0, booleans (<code class="literal">L</code>) were converted to <code class="literal">1</code> or
      <code class="literal">0</code>.
     </span>
    </li>
   </ul>
  </p>
  <p class="para">
   On error, <span class="function">dbase_get_record_with_names</span> will return <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: dbase_get_record
purpose: Gets a record from a database as an indexed array
manual_id: function.dbase-get-record
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: array
return_description:
<p class="para">
   An indexed array with the record. This array will also include an associative
   key named <code class="literal">deleted</code> which is set to 1 if the record has been 
   marked for deletion (see <span class="function">dbase_delete_record</span>).
  </p>
  <p class="para">
   Each field is converted to the appropriate PHP type, except:
   <ul class="itemizedlist">
    <li class="listitem">
     <span class="simpara">
      Dates are left as strings.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      DateTime values are converted to strings.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Integers outside the range
      <strong><code><a href="reserved.constants.html#constant.php-int-min">PHP_INT_MIN</a></code></strong>..<strong><code><a href="reserved.constants.html#constant.php-int-max">PHP_INT_MAX</a></code></strong> are
      returned as strings.
     </span>
    </li>
    <li class="listitem">
     <span class="simpara">
      Before dbase 7.0.0, booleans (<code class="literal">L</code>) were converted to <code class="literal">1</code> or
      <code class="literal">0</code>.
     </span>
    </li>
   </ul>
  </p>
  <p class="para">
   On error, <span class="function">dbase_get_record</span> will return <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: dbase_numfields
purpose: Gets the number of fields of a database
manual_id: function.dbase-numfields
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: int
return_description:
<p class="para">
   The number of fields in the database, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurs.
  </p>


name: dbase_numrecords
purpose: Gets the number of records in a database
manual_id: function.dbase-numrecords
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: int
return_description:
<p class="para">
   The number of records in the database, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if an error occurs.
  </p>


name: dbase_open
purpose: Opens a database
manual_id: function.dbase-open
version: PHP 5 < 5.3.0, dbase 5, dbase 7
return_type: false
return_description:
<p class="para">
   Returns a database resource on success,  or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ibase_backup
purpose: Initiates a backup task in the service manager and returns immediately
manual_id: function.ibase-backup
version: PHP 5, PHP 7 < 7.4.0
return_type: mixed
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   Since the backup process is done on the (remote) server, this function just passes the arguments to it.
   While the arguments are legal, you won&#039;t get <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: ibase_blob_close
purpose: Close blob
manual_id: function.ibase-blob-close
version: PHP 5, PHP 7 < 7.4.0
return_type: mixed
return_description:
<p class="para">
   If the BLOB was being read, this function returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success, if
   the BLOB was being written to, this function returns a string containing
   the BLOB id that has been assigned to it by the database. On failure, this
   function returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: ibase_blob_create
purpose: Create a new blob for adding data
manual_id: function.ibase-blob-create
version: PHP 5, PHP 7 < 7.4.0
return_type: false
return_description:
<p class="para">
   Returns a BLOB handle for later use with
   <span class="function">ibase_blob_add</span> or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ibase_blob_get
purpose: Get len bytes data from open blob
manual_id: function.ibase-blob-get
version: PHP 5, PHP 7 < 7.4.0
return_type: string
return_description:
<p class="para">
   Returns at most <code class="parameter">len</code> bytes from the BLOB, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>
   on failure.
  </p>


name: ibase_blob_import
purpose: Create blob, copy file in it, and close it
manual_id: function.ibase-blob-import
version: PHP 5, PHP 7 < 7.4.0
return_type: string
return_description:
<p class="para">
   Returns the BLOB id on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: ibase_blob_info
purpose: Return blob length and other useful info
manual_id: function.ibase-blob-info
version: PHP 5, PHP 7 < 7.4.0
return_type: array
return_description:
<p class="para">
   Returns an array containing information about a BLOB. The information returned
   consists of the length of the BLOB, the number of segments it contains, the size
   of the largest segment, and whether it is a stream BLOB or a segmented BLOB.
  </p>


name: ibase_blob_open
purpose: Open blob for retrieving data parts
manual_id: function.ibase-blob-open
version: PHP 5, PHP 7 < 7.4.0
return_type: false
return_description:
<p class="para">
   Returns a BLOB handle for later use with 
   <span class="function">ibase_blob_get</span> or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ibase_connect
purpose: Open a connection to a database
manual_id: function.ibase-connect
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   Returns an Firebird/InterBase link identifier on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>

errors:
<p class="para">
   If you get some error like &quot;arithmetic exception, numeric overflow, or
   string truncation. Cannot transliterate character between character sets&quot;
   (this occurs when you try use some character with accents) when using this
   and after <span class="function">ibase_query</span> you must set the character set
   (i.e. ISO8859_1 or your current character set).
  </p>


name: ibase_errcode
purpose: Return an error code
manual_id: function.ibase-errcode
version: PHP 5, PHP 7 < 7.4.0
return_type: int
return_description:
<p class="para">
   Returns the error code as an integer, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if no error occurred.
  </p>


name: ibase_errmsg
purpose: Return error messages
manual_id: function.ibase-errmsg
version: PHP 5, PHP 7 < 7.4.0
return_type: string
return_description:
<p class="para">
   Returns the error message as a string, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if no error occurred.
  </p>


name: ibase_execute
purpose: Execute a previously prepared query
manual_id: function.ibase-execute
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   If the query raises an error, returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>. If it is successful and
   there is a (possibly empty) result set (such as with a SELECT query),
   returns a result identifier. If the query was successful and there were
   no results, returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    This function returns the number of rows affected by
    the query (if &gt; 0 and applicable to the statement type). A query that
    succeeded, but did not affect any rows (e.g. an UPDATE of a non-existent
    record) will return <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>.
   </p>
  </p></blockquote>


name: ibase_fetch_assoc
purpose: Fetch a result row from a query as an associative array
manual_id: function.ibase-fetch-assoc
version: PHP 5, PHP 7 < 7.4.0
return_type: array
return_description:
<p class="para">
   Returns an associative array that corresponds to the fetched row.
   Subsequent calls will return the next row in the result set, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if
   there are no more rows.
  </p>


name: ibase_fetch_object
purpose: Get an object from a InterBase database
manual_id: function.ibase-fetch-object
version: PHP 5, PHP 7 < 7.4.0
return_type: object
return_description:
<p class="para">
   Returns an object with the next row information, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there are
   no more rows.
  </p>


name: ibase_fetch_row
purpose: Fetch a row from an InterBase database
manual_id: function.ibase-fetch-row
version: PHP 5, PHP 7 < 7.4.0
return_type: array
return_description:
<p class="para">
   Returns an array that corresponds to the fetched row, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there
   are no more rows. Each result column is stored in an array offset,
   starting at offset 0.
  </p>


name: ibase_field_info
purpose: Get information about a field
manual_id: function.ibase-field-info
version: PHP 5, PHP 7 < 7.4.0
return_type: array
return_description:
<p class="para">
   Returns an array with the following keys: <code class="literal">name</code>,
   <code class="literal">alias</code>, <code class="literal">relation</code>,
   <code class="literal">length</code> and <code class="literal">type</code>.
  </p>


name: ibase_gen_id
purpose: Increments the named generator and returns its new value
manual_id: function.ibase-gen-id
version: PHP 5, PHP 7 < 7.4.0
return_type: mixed
return_description:
<p class="para">
   Returns new generator value as integer, or as string if the value is too big.
  </p>


name: ibase_pconnect
purpose: Open a persistent connection to an InterBase database
manual_id: function.ibase-pconnect
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   Returns an InterBase link identifier on success, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: ibase_prepare
purpose: Prepare a query for later binding of parameter placeholders and execution
manual_id: function.ibase-prepare
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   Returns a prepared query handle, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: ibase_query
purpose: Execute a query on an InterBase database
manual_id: function.ibase-query
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   If the query raises an error, returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>. If it is successful and
   there is a (possibly empty) result set (such as with a SELECT query),
   returns a result identifier. If the query was successful and there were
   no results, returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong>.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    In PHP 5.0.0 and up, this function will return the number of rows
    affected by the query for INSERT, UPDATE and DELETE statements. In order
    to retain backward compatibility, it will return <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> for these
    statements if the query succeeded without affecting any rows.
   </p>
  </p></blockquote>

errors:
<p class="para">
   If you get some error like &quot;arithmetic exception, numeric overflow, or
   string truncation. Cannot transliterate character between character sets&quot;
   (this occurs when you try use some character with accents) when using this
   and after <span class="function">ibase_query</span> you must set the character set
   (i.e. ISO8859_1 or your current character set).
  </p>


name: ibase_restore
purpose: Initiates a restore task in the service manager and returns immediately
manual_id: function.ibase-restore
version: PHP 5, PHP 7 < 7.4.0
return_type: mixed
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>
  <p class="para">
   Since the restore process is done on the (remote) server, this function just passes the arguments to it.
   While the arguments are legal, you won&#039;t get <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: ibase_service_attach
purpose: Connect to the service manager
manual_id: function.ibase-service-attach
version: PHP 5, PHP 7 < 7.4.0
return_type: false
return_description:
<p class="para">
   Returns a Interbase / Firebird link identifier on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: ibase_set_event_handler
purpose: Register a callback function to be called when events are posted
manual_id: function.ibase-set-event-handler
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   The return value is an event resource. This resource can be used to free
   the event handler using <span class="function">ibase_free_event_handler</span>.
  </p>


name: ibase_trans
purpose: Begin a transaction
manual_id: function.ibase-trans
version: PHP 5, PHP 7 < 7.4.0
return_type: resource
return_description:
<p class="para">
   Returns a transaction handle, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on error.
  </p>


name: db2_autocommit
purpose: Returns or sets the AUTOCOMMIT state for a database connection
manual_id: function.db2-autocommit
version: PECL ibm_db2 >= 1.0.0
return_type: bool
return_description:
<p class="para">
   When <span class="function">db2_autocommit</span> receives only the
   <code class="parameter">connection</code> parameter, it returns the current state
   of AUTOCOMMIT for the requested connection as an integer value. A value of
   <strong><code><a href="ibm-db2.constants.html#constant.db2-autocommit-off">DB2_AUTOCOMMIT_OFF</a></code></strong> indicates that AUTOCOMMIT is off,
   while a value of <strong><code><a href="ibm-db2.constants.html#constant.db2-autocommit-on">DB2_AUTOCOMMIT_ON</a></code></strong> indicates that
   AUTOCOMMIT is on.
  </p>
  <p class="para">
   When <span class="function">db2_autocommit</span> receives both the
   <code class="parameter">connection</code> parameter and
   <code class="parameter">autocommit</code> parameter, it attempts to set the
   AUTOCOMMIT state of the requested connection to the corresponding state.
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: db2_client_info
purpose: Returns an object with properties that describe the DB2 database client
manual_id: function.db2-client-info
version: PECL ibm_db2 >= 1.1.1
return_type: false
return_description:
<p class="para">
   Returns an object on a successful call, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>


name: db2_column_privileges
purpose: Returns a result set listing the columns and associated privileges for a table
manual_id: function.db2-column-privileges
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the column privileges for columns matching the specified parameters. The
   rows are composed of the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
       <tr>
        <td>TABLE_CAT</td>
        <td>Name of the catalog. The value is NULL if this table does not
         have catalogs.</td>
       </tr>

       <tr>
        <td>TABLE_SCHEM</td>
        <td>Name of the schema.</td>
       </tr>

       <tr>
        <td>TABLE_NAME</td>
        <td>Name of the table or view.</td>
       </tr>

       <tr>
        <td>COLUMN_NAME</td>
        <td>Name of the column.</td>
       </tr>

       <tr>
        <td>GRANTOR</td>
        <td>Authorization ID of the user who granted the privilege.</td>
       </tr>

       <tr>
        <td>GRANTEE</td>
        <td>Authorization ID of the user to whom the privilege was
         granted.</td>
       </tr>

       <tr>
        <td>PRIVILEGE</td>
        <td>The privilege for the column.</td>
       </tr>

       <tr>
        <td>IS_GRANTABLE</td>
        <td>Whether the GRANTEE is permitted to grant this privilege to
        other users.</td>
       </tr>

     </tbody>
    
   </table>

  </p>


name: db2_columns
purpose: Returns a result set listing the columns and associated metadata for a table
manual_id: function.db2-columns
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the columns matching the specified parameters. The rows are composed of
   the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
       <tr>
        <td>TABLE_CAT</td>
        <td>Name of the catalog. The value is NULL if this table does not
         have catalogs.</td>
       </tr>

       <tr>
        <td>TABLE_SCHEM</td>
        <td>Name of the schema.</td>
       </tr>

       <tr>
        <td>TABLE_NAME</td>
        <td>Name of the table or view.</td>
       </tr>

       <tr>
        <td>COLUMN_NAME</td>
        <td>Name of the column.</td>
       </tr>

       <tr>
        <td>DATA_TYPE</td>
        <td>The SQL data type for the column represented as an integer value.</td>
       </tr>

       <tr>
        <td>TYPE_NAME</td>
        <td>A string representing the data type for the column.</td>
       </tr>

       <tr>
        <td>COLUMN_SIZE</td>
        <td>An integer value representing the size of the column.</td>
       </tr>

       <tr>
        <td>BUFFER_LENGTH</td>
        <td>
         Maximum number of bytes necessary to store data from this column.
        </td>
       </tr>

       <tr>
        <td>DECIMAL_DIGITS</td>
        <td>
         The scale of the column, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> where scale is not applicable.
        </td>
       </tr>

       <tr>
        <td>NUM_PREC_RADIX</td>
        <td>
         An integer value of either <code class="literal">10</code> (representing
         an exact numeric data type), <code class="literal">2</code> (representing an
         approximate numeric data type), or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> (representing a data type for
         which radix is not applicable).
        </td>
       </tr>

       <tr>
        <td>NULLABLE</td>
        <td>An integer value representing whether the column is nullable or
        not.</td>
       </tr>

       <tr>
        <td>REMARKS</td>
        <td>Description of the column.</td>
       </tr>

       <tr>
        <td>COLUMN_DEF</td>
        <td>Default value for the column.</td>
       </tr>

       <tr>
        <td>SQL_DATA_TYPE</td>
        <td>An integer value representing the size of the column.</td>
       </tr>

       <tr>
        <td>SQL_DATETIME_SUB</td>
        <td>
         Returns an integer value representing a datetime subtype code,
         or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> for SQL data types to which this does not apply.
        </td>
       </tr>

       <tr>
        <td>CHAR_OCTET_LENGTH</td>
        <td>
         Maximum length in octets for a character data type column, which
         matches COLUMN_SIZE for single-byte character set data, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> for
         non-character data types.
        </td>
       </tr>

       <tr>
        <td>ORDINAL_POSITION</td>
        <td>The 1-indexed position of the column in the table.</td>
       </tr>

       <tr>
        <td>IS_NULLABLE</td>
        <td>
         A string value where &#039;YES&#039; means that the column is nullable and
         &#039;NO&#039; means that the column is not nullable.
       </td>
       </tr>

     </tbody>
    
   </table>


  </p>


name: db2_conn_error
purpose: Returns a string containing the SQLSTATE returned by the last connection attempt
manual_id: function.db2-conn-error
version: PECL ibm_db2 >= 1.0.0
return_type: string
return_description:
<p class="para">
   Returns the SQLSTATE value resulting from a failed connection attempt.
   Returns an empty string if there is no error associated with the last
   connection attempt.
  </p>


name: db2_conn_errormsg
purpose: Returns the last connection error message and SQLCODE value
manual_id: function.db2-conn-errormsg
version: PECL ibm_db2 >= 1.0.0
return_type: string
return_description:
<p class="para">
   Returns a string containing the error message and SQLCODE value resulting
   from a failed connection attempt. If there is no error associated with the last
   connection attempt, <span class="function">db2_conn_errormsg</span> returns an empty
   string.
  </p>


name: db2_connect
purpose: Returns a connection to a database
manual_id: function.db2-connect
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a connection handle resource if the connection attempt is
   successful. If the connection attempt fails, <span class="function">db2_connect</span>
   returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_cursor_type
purpose: Returns the cursor type used by a statement resource
manual_id: function.db2-cursor-type
version: PECL ibm_db2 >= 1.0.0
return_type: int
return_description:
<p class="para">
   Returns either <strong><code><a href="ibm-db2.constants.html#constant.db2-forward-only">DB2_FORWARD_ONLY</a></code></strong> if the statement
   resource uses a forward-only cursor or <strong><code><a href="ibm-db2.constants.html#constant.db2-scrollable">DB2_SCROLLABLE</a></code></strong> if
   the statement resource uses a scrollable cursor.
  </p>


name: db2_escape_string
purpose: Used to escape certain characters
manual_id: function.db2-escape-string
version: PECL ibm_db2 >= 1.6.0
return_type: string
return_description:
<p class="para">
   Returns <code class="parameter">string_literal</code> with the special characters 
   noted above prepended with backslashes.
  </p>


name: db2_exec
purpose: Executes an SQL statement directly
manual_id: function.db2-exec
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a statement resource if the SQL statement was issued successfully,
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the database failed to execute the SQL statement.
  </p>


name: db2_fetch_array
purpose: Returns an array, indexed by column position, representing a row in a result set
manual_id: function.db2-fetch-array
version: PECL ibm_db2 >= 1.0.1
return_type: false
return_description:
<p class="para">
   Returns a 0-indexed array with column values indexed by the column position
   representing the next or requested row in the result set. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if
   there are no rows left in the result set, or if the row requested by
   <code class="parameter">row_number</code> does not exist in the result set.
  </p>


name: db2_fetch_assoc
purpose: Returns an array, indexed by column name, representing a row in a result set
manual_id: function.db2-fetch-assoc
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an associative array with column values indexed by the column name
   representing the next or requested row in the result set. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if
   there are no rows left in the result set, or if the row requested by
   <code class="parameter">row_number</code> does not exist in the result set.
  </p>


name: db2_fetch_both
purpose: Returns an array, indexed by both column name and position, representing a row in a result set
manual_id: function.db2-fetch-both
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an associative array with column values indexed by both the column
   name and 0-indexed column number. The array represents the next or
   requested row in the result set. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if there are no rows left
   in the result set, or if the row requested by
   <code class="parameter">row_number</code> does not exist in the result set.
  </p>


name: db2_fetch_object
purpose: Returns an object with properties representing columns in the fetched row
manual_id: function.db2-fetch-object
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an object representing a single row in the result set. The
   properties of the object map to the names of the columns in the result set.
  </p>
  <p class="para">
   The IBM DB2, Cloudscape, and Apache Derby database servers typically fold
   column names to upper-case, so the object properties will reflect that case. 
  </p>
  <p class="para">
   If your SELECT statement calls a scalar function to modify the value
   of a column, the database servers return the column number as the name of
   the column in the result set. If you prefer a more descriptive column name
   and object property, you can use the AS clause to assign a name to the
   column in the result set.
  </p>
  <p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if no row was retrieved.
  </p>


name: db2_fetch_row
purpose: Sets the result set pointer to the next row or requested row
manual_id: function.db2-fetch-row
version: PECL ibm_db2 >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> if the requested row exists in the result set. Returns
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the requested row does not exist in the result set.
  </p>


name: db2_field_display_size
purpose: Returns the maximum number of bytes required to display a column
manual_id: function.db2-field-display-size
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an integer value with the maximum number of bytes required to
   display the specified column. If the column does not exist in the result
   set, <span class="function">db2_field_display_size</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_field_name
purpose: Returns the name of the column in the result set
manual_id: function.db2-field-name
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a string containing the name of the specified column. If the
   specified column does not exist in the result
   set, <span class="function">db2_field_name</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_field_num
purpose: Returns the position of the named column in a result set
manual_id: function.db2-field-num
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an integer containing the 0-indexed position of the named column in
   the result set. If the specified column does not exist in the result set,
   <span class="function">db2_field_num</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_field_precision
purpose: Returns the precision of the indicated column in a result set
manual_id: function.db2-field-precision
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an integer containing the precision of the specified column. If the
   specified column does not exist in the result set,
   <span class="function">db2_field_precision</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_field_scale
purpose: Returns the scale of the indicated column in a result set
manual_id: function.db2-field-scale
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an integer containing the scale of the specified column. If the
   specified column does not exist in the result set,
   <span class="function">db2_field_scale</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_field_type
purpose: Returns the data type of the indicated column in a result set
manual_id: function.db2-field-type
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a string containing the defined data type of the specified column.
   If the specified column does not exist in the result set,
   <span class="function">db2_field_type</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_field_width
purpose: Returns the width of the current value of the indicated column in a result set
manual_id: function.db2-field-width
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an integer containing the width of the specified character or
   binary data type column in a result set. If the specified column does not
   exist in the result set, <span class="function">db2_field_width</span> returns
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_foreign_keys
purpose: Returns a result set listing the foreign keys for a table
manual_id: function.db2-foreign-keys
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the foreign keys for the specified table. The result set is composed of the
   following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
       <tr>
        <td>PKTABLE_CAT</td>
        <td>
         Name of the catalog for the table containing the primary key. The
         value is NULL if this table does not have catalogs.
        </td>
       </tr>

       <tr>
        <td>PKTABLE_SCHEM</td>
        <td>
         Name of the schema for the table containing the primary key.
        </td>
       </tr>

       <tr>
        <td>PKTABLE_NAME</td>
        <td>Name of the table containing the primary key.</td>
       </tr>

       <tr>
        <td>PKCOLUMN_NAME</td>
        <td>Name of the column containing the primary key.</td>
       </tr>

       <tr>
        <td>FKTABLE_CAT</td>
        <td>
         Name of the catalog for the table containing the foreign key. The
         value is NULL if this table does not have catalogs.
        </td>
       </tr>

       <tr>
        <td>FKTABLE_SCHEM</td>
        <td>
         Name of the schema for the table containing the foreign key.
        </td>
       </tr>

       <tr>
        <td>FKTABLE_NAME</td>
        <td>Name of the table containing the foreign key.</td>
       </tr>

       <tr>
        <td>FKCOLUMN_NAME</td>
        <td>Name of the column containing the foreign key.</td>
       </tr>

       <tr>
        <td>KEY_SEQ</td>
        <td>1-indexed position of the column in the key.</td>
       </tr>

       <tr>
        <td>UPDATE_RULE</td>
        <td>
         Integer value representing the action applied to the foreign key
         when the SQL operation is UPDATE.
        </td>
       </tr>

       <tr>
        <td>DELETE_RULE</td>
        <td>
         Integer value representing the action applied to the foreign key
         when the SQL operation is DELETE.
        </td>
       </tr>

       <tr>
        <td>FK_NAME</td>
        <td>The name of the foreign key.</td>
       </tr>

       <tr>
        <td>PK_NAME</td>
        <td>The name of the primary key.</td>
       </tr>

       <tr>
        <td>DEFERRABILITY</td>
        <td>
         An integer value representing whether the foreign key deferrability is
         SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or
         SQL_NOT_DEFERRABLE.
        </td>
       </tr>

     </tbody>
    
   </table>


  </p>


name: db2_get_option
purpose: Retrieves an option value for a statement resource or a connection resource
manual_id: function.db2-get-option
version: PECL ibm_db2 >= 1.6.0
return_type: false
return_description:
<p class="para">
   Returns the current setting of the connection attribute provided on success 
   or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
  </p>


name: db2_last_insert_id
manual_id: function.db2-last-insert-id
version: PECL ibm_db2 >= 1.7.1
return_type: null
purpose:
Returns the auto generated ID of the last insert query that successfully   executed on this connection

return_description:
<p class="para">
   Returns the auto generated ID of last insert query that successfully 
  executed on this connection.
  </p>


name: db2_lob_read
purpose: Gets a user defined size of LOB files with each invocation
manual_id: function.db2-lob-read
version: PECL ibm_db2 >= 1.6.0
return_type: false
return_description:
<p class="para">
   Returns the amount of data the user specifies. Returns
   <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the data cannot be retrieved.
  </p>


name: db2_next_result
purpose: Requests the next result set from a stored procedure
manual_id: function.db2-next-result
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a new statement resource containing the next result set if the
   stored procedure returned another result set. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the stored
   procedure did not return another result set.
  </p>


name: db2_num_fields
purpose: Returns the number of fields contained in a result set
manual_id: function.db2-num-fields
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns an integer value representing the number of fields in the result
   set associated with the specified statement resource. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if
   the statement resource is not a valid input value. 
  </p>


name: db2_num_rows
purpose: Returns the number of rows affected by an SQL statement
manual_id: function.db2-num-rows
version: PECL ibm_db2 >= 1.0.0
return_type: bool
return_description:
<p class="para">
   Returns the number of rows affected by the last SQL statement issued by
   the specified statement handle, or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure
  </p>


name: db2_pconnect
purpose: Returns a persistent connection to a database
manual_id: function.db2-pconnect
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a connection handle resource if the connection attempt is
   successful. <span class="function">db2_pconnect</span> tries to reuse an existing
   connection resource that exactly matches the
   <code class="parameter">database</code>, <code class="parameter">username</code>, and
   <code class="parameter">password</code> parameters. If the connection attempt fails,
   <span class="function">db2_pconnect</span> returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong>.
  </p>


name: db2_prepare
purpose: Prepares an SQL statement to be executed
manual_id: function.db2-prepare
version: PECL ibm_db2 >= 1.0.0
return_type: false
return_description:
<p class="para">
   Returns a statement resource if the SQL statement was successfully parsed and
   prepared by the database server. Returns <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> if the database server
   returned an error. You can determine which error was returned by calling
   <span class="function">db2_stmt_error</span> or <span class="function">db2_stmt_errormsg</span>.
  </p>


name: db2_primary_keys
purpose: Returns a result set listing primary keys for a table
manual_id: function.db2-primary-keys
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the primary keys for the specified table. The result set is composed of the
   following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
       <tr>
        <td>TABLE_CAT</td>
        <td>
         Name of the catalog for the table containing the primary key. The
         value is NULL if this table does not have catalogs.
        </td>
       </tr>

       <tr>
        <td>TABLE_SCHEM</td>
        <td>
         Name of the schema for the table containing the primary key.
        </td>
       </tr>

       <tr>
        <td>TABLE_NAME</td>
        <td>Name of the table containing the primary key.</td>
       </tr>

       <tr>
        <td>COLUMN_NAME</td>
        <td>Name of the column containing the primary key.</td>
       </tr>

       <tr>
        <td>KEY_SEQ</td>
        <td>1-indexed position of the column in the key.</td>
       </tr>

       <tr>
        <td>PK_NAME</td>
        <td>The name of the primary key.</td>
       </tr>

     </tbody>
    
   </table>

  </p>


name: db2_procedure_columns
purpose: Returns a result set listing stored procedure parameters
manual_id: function.db2-procedure-columns
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the parameters for the stored procedures matching the specified parameters.
   The rows are composed of the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
       <tr>
        <td>PROCEDURE_CAT</td>
        <td>The catalog that contains the procedure. The value is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if
        this table does not have catalogs.</td>
       </tr>

       <tr>
        <td>PROCEDURE_SCHEM</td>
        <td>Name of the schema that contains the stored procedure.</td>
       </tr>

       <tr>
        <td>PROCEDURE_NAME</td>
        <td>Name of the procedure.</td>
       </tr>

       <tr>
        <td>COLUMN_NAME</td>
        <td>Name of the parameter.</td>
       </tr>

       <tr>
        <td>COLUMN_TYPE</td>
        <td>
         <p class="para">
          An integer value representing the type of the parameter:
          <table class="doctable informaltable">
           
            <thead>
             <tr>
              <th>Return value</th>
              <th>Parameter type</th>
             </tr>

            </thead>

            <tbody class="tbody">
             <tr>
              <td>1 (SQL_PARAM_INPUT)</td>
              <td>Input (IN) parameter.</td>
             </tr>

             <tr>
              <td>2 (SQL_PARAM_INPUT_OUTPUT)</td>
              <td>Input/output (INOUT) parameter.</td>
             </tr>

             <tr>
              <td>3 (SQL_PARAM_OUTPUT)</td>
              <td>Output (OUT) parameter.</td>
             </tr>

            </tbody>
           
          </table>

         </p>
        </td>
       </tr>

       <tr>
        <td>DATA_TYPE</td>
        <td>The SQL data type for the parameter represented as an integer
         value.</td>
       </tr>

       <tr>
        <td>TYPE_NAME</td>
        <td>A string representing the data type for the parameter.</td>
       </tr>

       <tr>
        <td>COLUMN_SIZE</td>
        <td>An integer value representing the size of the parameter.</td>
       </tr>

       <tr>
        <td>BUFFER_LENGTH</td>
        <td>
         Maximum number of bytes necessary to store data for this parameter.
        </td>
       </tr>

       <tr>
        <td>DECIMAL_DIGITS</td>
        <td>
         The scale of the parameter, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> where scale is not applicable.
        </td>
       </tr>

       <tr>
        <td>NUM_PREC_RADIX</td>
        <td>
         An integer value of either <code class="literal">10</code> (representing
         an exact numeric data type), <code class="literal">2</code> (representing an
         approximate numeric data type), or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> (representing a data type for
         which radix is not applicable).
        </td>
       </tr>

       <tr>
        <td>NULLABLE</td>
        <td>An integer value representing whether the parameter is nullable
         or not.</td>
       </tr>

       <tr>
        <td>REMARKS</td>
        <td>Description of the parameter.</td>
       </tr>

       <tr>
        <td>COLUMN_DEF</td>
        <td>Default value for the parameter.</td>
       </tr>

       <tr>
        <td>SQL_DATA_TYPE</td>
        <td>An integer value representing the size of the parameter.</td>
       </tr>

       <tr>
        <td>SQL_DATETIME_SUB</td>
        <td>
         Returns an integer value representing a datetime subtype code,
         or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> for SQL data types to which this does not apply.
        </td>
       </tr>

       <tr>
        <td>CHAR_OCTET_LENGTH</td>
        <td>
         Maximum length in octets for a character data type parameter, which
         matches COLUMN_SIZE for single-byte character set data, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> for
         non-character data types.
        </td>
       </tr>

       <tr>
        <td>ORDINAL_POSITION</td>
        <td>The 1-indexed position of the parameter in the CALL
         statement.</td>
       </tr>

       <tr>
        <td>IS_NULLABLE</td>
        <td>
         A string value where &#039;YES&#039; means that the parameter accepts or
         returns <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> values and &#039;NO&#039; means that the parameter does not
         accept or return <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> values.
       </td>
       </tr>

     </tbody>
    
   </table>


  </p>


name: db2_procedures
purpose: Returns a result set listing the stored procedures registered in a database
manual_id: function.db2-procedures
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the stored procedures matching the specified parameters. The rows are
   composed of the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
       <tr>
        <td>PROCEDURE_CAT</td>
        <td>The catalog that contains the procedure. The value is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if
        this table does not have catalogs.</td>
       </tr>

       <tr>
        <td>PROCEDURE_SCHEM</td>
        <td>Name of the schema that contains the stored procedure.</td>
       </tr>

       <tr>
        <td>PROCEDURE_NAME</td>
        <td>Name of the procedure.</td>
       </tr>

       <tr>
        <td>NUM_INPUT_PARAMS</td>
        <td>Number of input (IN) parameters for the stored procedure.</td>
       </tr>

       <tr>
        <td>NUM_OUTPUT_PARAMS</td>
        <td>Number of output (OUT) parameters for the stored procedure.</td>
       </tr>

       <tr>
        <td>NUM_RESULT_SETS</td>
        <td>Number of result sets returned by the stored procedure.</td>
       </tr>

       <tr>
        <td>REMARKS</td>
        <td>Any comments about the stored procedure.</td>
       </tr>

       <tr>
        <td>PROCEDURE_TYPE</td>
        <td>Always returns <code class="literal">1</code>, indicating that the stored
        procedure does not return a return value.</td>
       </tr>

     </tbody>
    
   </table>


  </p>


name: db2_result
purpose: Returns a single column from a row in the result set
manual_id: function.db2-result
version: PECL ibm_db2 >= 1.0.0
return_type: null
return_description:
<p class="para">
   Returns the value of the requested field if the field exists in the result
   set. Returns <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if the field does not exist, and issues a warning.
  </p>


name: db2_set_option
purpose: Set options for connection or statement resources
manual_id: function.db2-set-option
version: PECL ibm_db2 >= 1.0.0
return_type: bool
return_description:
<p class="para">
     Returns <strong><code><a href="reserved.constants.html#constant.true">true</a></code></strong> on success or <strong><code><a href="reserved.constants.html#constant.false">false</a></code></strong> on failure.
    </p>


name: db2_special_columns
purpose: Returns a result set listing the unique row identifier columns for a table
manual_id: function.db2-special-columns
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows with unique
   row identifier information for a table. The rows are composed of the
   following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>SCOPE</td>
       <td>
        <p class="para">
         <table class="doctable informaltable">
          
           <thead>
            <tr>
             <th>Integer value</th>
             <th>SQL constant</th>
             <th>Description</th>
            </tr>

           </thead>

           <tbody class="tbody">
            <tr>
             <td>0</td>
             <td>SQL_SCOPE_CURROW</td>
             <td>Row identifier is valid only while the cursor is positioned
             on the row.</td>
            </tr>

            <tr>
             <td>1</td>
             <td>SQL_SCOPE_TRANSACTION</td>
             <td>Row identifier is valid for the duration of the
              transaction.</td>
            </tr>

            <tr>
             <td>2</td>
             <td>SQL_SCOPE_SESSION</td>
             <td>Row identifier is valid for the duration of the
              connection.</td>
            </tr>

           </tbody>
          
         </table>

        </p>
       </td>
      </tr>

      <tr>
       <td>COLUMN_NAME</td>
       <td>Name of the unique column.</td>
      </tr>

      <tr>
       <td>DATA_TYPE</td>
       <td>SQL data type for the column.</td>
      </tr>

      <tr>
       <td>TYPE_NAME</td>
       <td>Character string representation of the SQL data type for the
       column.</td>
      </tr>

      <tr>
       <td>COLUMN_SIZE</td>
       <td>An integer value representing the size of the column.</td>
      </tr>

      <tr>
       <td>BUFFER_LENGTH</td>
       <td>
        Maximum number of bytes necessary to store data from this column.
       </td>
      </tr>

      <tr>
       <td>DECIMAL_DIGITS</td>
       <td>
        The scale of the column, or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> where scale is not applicable.
       </td>
      </tr>

      <tr>
       <td>NUM_PREC_RADIX</td>
       <td>
        An integer value of either <code class="literal">10</code> (representing
        an exact numeric data type), <code class="literal">2</code> (representing an
        approximate numeric data type), or <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> (representing a data type for
        which radix is not applicable).
       </td>
      </tr>

      <tr>
       <td>PSEUDO_COLUMN</td>
       <td>Always returns 1.</td>
      </tr>

     </tbody>
    
   </table>


  </p>


name: db2_statistics
purpose: Returns a result set listing the index and statistics for a table
manual_id: function.db2-statistics
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the statistics and indexes for the base tables matching the specified
   parameters. The rows are composed of the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>TABLE_CAT</td>
       <td>The catalog that contains the table. The value is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if
       this table does not have catalogs.</td>
      </tr>

      <tr>
       <td>TABLE_SCHEM</td>
       <td>Name of the schema that contains the table.</td>
      </tr>

      <tr>
       <td>TABLE_NAME</td>
       <td>Name of the table.</td>
      </tr>

      <tr>
       <td>NON_UNIQUE</td>
       <td>
        <p class="para">
         An integer value representing whether the index prohibits unique
         values, or whether the row represents statistics on the table itself:
         <table class="doctable informaltable">
          
           <thead>
            <tr>
             <th>Return value</th>
             <th>Parameter type</th>
            </tr>

           </thead>

           <tbody class="tbody">
            <tr>
             <td>0 (SQL_FALSE)</td>
             <td>The index allows duplicate values.</td>
            </tr>

            <tr>
             <td>1 (SQL_TRUE)</td>
             <td>The index values must be unique.</td>
            </tr>

            <tr>
             <td><strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong></td>
             <td>This row is statistics information for the table itself.</td>
            </tr>

           </tbody>
          
         </table>

        </p>
       </td>
      </tr>

      <tr>
       <td>INDEX_QUALIFIER</td>
       <td>A string value representing the qualifier that would have to be
       prepended to INDEX_NAME to fully qualify the index.</td>
      </tr>

      <tr>
       <td>INDEX_NAME</td>
       <td>A string representing the name of the index.</td>
      </tr>

      <tr>
       <td>TYPE</td>
       <td>
        <p class="para">
         An integer value representing the type of information contained in
         this row of the result set:
         <table class="doctable informaltable">
          
           <thead>
            <tr>
             <th>Return value</th>
             <th>Parameter type</th>
            </tr>

           </thead>

           <tbody class="tbody">
            <tr>
             <td>0 (SQL_TABLE_STAT)</td>
             <td>The row contains statistics about the table itself.</td>
            </tr>

            <tr>
             <td>1 (SQL_INDEX_CLUSTERED)</td>
             <td>The row contains information about a clustered index.</td>
            </tr>

            <tr>
             <td>2 (SQL_INDEX_HASH)</td>
             <td>The row contains information about a hashed index.</td>
            </tr>

            <tr>
             <td>3 (SQL_INDEX_OTHER)</td>
             <td>The row contains information about a type of index that
             is neither clustered nor hashed.</td>
            </tr>

           </tbody>
          
         </table>

        </p>
       </td>
      </tr>

      <tr>
       <td>ORDINAL_POSITION</td>
       <td>The 1-indexed position of the column in the index. <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if
        the row contains statistics information about the table itself.</td>
      </tr>

      <tr>
       <td>COLUMN_NAME</td>
       <td>The name of the column in the index. <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if the row
        contains statistics information about the table itself.</td>
      </tr>

      <tr>
       <td>ASC_OR_DESC</td>
       <td>
        <code class="literal">A</code> if the column is sorted in ascending order,
        <code class="literal">D</code> if the column is sorted in descending order,
        <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if the row contains statistics information about the table
        itself.
       </td>
      </tr>

      <tr>
       <td>CARDINALITY</td>
       <td>
        <p class="para">
         If the row contains information about an index, this column contains
         an integer value representing the number of unique values in the
         index.
        </p>
        <p class="para">
         If the row contains information about the table itself, this column
         contains an integer value representing the number of rows in the
         table.
        </p>
       </td>
      </tr>

      <tr>
       <td>PAGES</td>
       <td>
        <p class="para">
         If the row contains information about an index, this column contains
         an integer value representing the number of pages used to store the
         index.
        </p>
        <p class="para">
         If the row contains information about the table itself, this column
         contains an integer value representing the number of pages used to
         store the table.
        </p>
       </td>
      </tr>

      <tr>
       <td>FILTER_CONDITION</td>
       <td>Always returns <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong>.</td>
      </tr>

     </tbody>
    
   </table>

  </p>


name: db2_stmt_errormsg
purpose: Returns a string containing the last SQL statement error message
manual_id: function.db2-stmt-errormsg
version: PECL ibm_db2 >= 1.0.0
return_type: string
return_description:
<p class="para">
   Returns a string containing the error message and SQLCODE value for the
   last error that occurred issuing an SQL statement.
  </p>


name: db2_table_privileges
purpose: Returns a result set listing the tables and associated privileges in a database
manual_id: function.db2-table-privileges
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the privileges for the tables that match the specified parameters. The rows
   are composed of the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>TABLE_CAT</td>
       <td>The catalog that contains the table. The value is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if
       this table does not have catalogs.</td>
      </tr>

      <tr>
       <td>TABLE_SCHEM</td>
       <td>Name of the schema that contains the table.</td>
      </tr>

      <tr>
       <td>TABLE_NAME</td>
       <td>Name of the table.</td>
      </tr>

      <tr>
       <td>GRANTOR</td>
       <td>Authorization ID of the user who granted the privilege.</td>
      </tr>

      <tr>
       <td>GRANTEE</td>
       <td>Authorization ID of the user to whom the privilege was
        granted.</td>
      </tr>

      <tr>
       <td>PRIVILEGE</td>
       <td>
        The privilege that has been granted. This can be one of ALTER,
        CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE.
       </td>
      </tr>

      <tr>
       <td>IS_GRANTABLE</td>
       <td>
        A string value of &quot;YES&quot; or &quot;NO&quot; indicating whether the grantee
        can grant the privilege to other users.
       </td>
      </tr>

     </tbody>
    
   </table>


  </p>


name: db2_tables
purpose: Returns a result set listing the tables and associated metadata in a database
manual_id: function.db2-tables
version: PECL ibm_db2 >= 1.0.0
return_type: resource
return_description:
<p class="para">
   Returns a statement resource with a result set containing rows describing
   the tables that match the specified parameters. The rows are composed of
   the following columns:
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Column name</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>TABLE_CAT</td>
       <td>The catalog that contains the table. The value is <strong><code><a href="reserved.constants.html#constant.null">null</a></code></strong> if
       this table does not have catalogs.</td>
      </tr>

      <tr>
       <td>TABLE_SCHEM</td>
       <td>Name of the schema that contains the table.</td>
      </tr>

      <tr>
       <td>TABLE_NAME</td>
       <td>Name of the table.</td>
      </tr>

      <tr>
       <td>TABLE_TYPE</td>
       <td>Table type identifier for the table.</td>
      </tr>

      <tr>
       <td>REMARKS</td>
       <td>Description of the table.</td>
      </tr>

     </tbody>
    
   </table>

  </p>


name: MongoDB\Driver\Manager.addSubscriber
purpose: Registers a monitoring event subscriber with this Manager
manual_id: mongodb-driver-manager.addsubscriber
version: mongodb >=1.10.0
return_type: void
return_description: <p class="para"> No value is returned. </p>
errors:
<ul class="simplelist">
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> on argument parsing errors.</li>
   <li>
    Throws
    <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> if
    <code class="parameter">subscriber</code> is a
    <span class="classname">MongoDB\Driver\Monitoring\LogSubscriber</span>, since
    loggers can only be registered globally.
   </li>
  </ul>


name: MongoDB\Driver\Manager.__construct
purpose: Create new MongoDB Manager
manual_id: mongodb-driver-manager.construct
version: mongodb >=1.0.0
errors:
<ul class="simplelist">
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> on argument parsing errors.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\RuntimeException</span> if the <code class="parameter">uri</code> format is invalid</li>
  </ul>


name: MongoDB\Driver\Manager.createClientEncryption
purpose: Create a new ClientEncryption object
manual_id: mongodb-driver-manager.createclientencryption
version: mongodb >=1.7.0
return_type: MongoDB\Driver\ClientEncryption
return_description:
<p class="para">
   Returns a new <span class="classname">MongoDB\Driver\ClientEncryption</span> instance.
  </p>

errors:
<ul class="simplelist">
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> on argument parsing errors.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\RuntimeException</span> if the extension was compiled without libmongocrypt support</li>
  </ul>


name: MongoDB\Driver\Manager.executeBulkWrite
purpose: Execute one or more write operations
manual_id: mongodb-driver-manager.executebulkwrite
version: mongodb >=1.0.0
return_type: MongoDB\Driver\WriteResult
return_description: <p class="para">Returns <span class="classname">MongoDB\Driver\WriteResult</span> on success.</p>
errors:
<ul class="simplelist">
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> if <code class="parameter">bulk</code> does not contain any write operations.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> if <code class="parameter">bulk</code> has already been executed. <span class="classname">MongoDB\Driver\BulkWrite</span> objects may not be executed multiple times.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> if the <code class="literal">&quot;session&quot;</code> option is used in combination with an unacknowledged write concern.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> on argument parsing errors.</li><li>Throws <span class="classname">MongoDB\Driver\Exception\ConnectionException</span> if connection to the server fails (for reasons other than authentication).</li><li>Throws <span class="classname">MongoDB\Driver\Exception\AuthenticationException</span> if authentication is needed and fails.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\BulkWriteException</span> on any write failure (e.g. write error, failure to apply a write concern)</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\RuntimeException</span> on other errors.</li>
  </ul>


name: MongoDB\Driver\Manager.executeCommand
purpose: Execute a database command
manual_id: mongodb-driver-manager.executecommand
version: mongodb >=1.0.0
return_type: MongoDB\Driver\Cursor
return_description: <p class="para">Returns <span class="classname">MongoDB\Driver\Cursor</span> on success.</p>
errors:
<ul class="simplelist">
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> if the <code class="literal">&quot;session&quot;</code> option is used with an associated transaction in combination with a <code class="literal">&quot;readConcern&quot;</code> or <code class="literal">&quot;writeConcern&quot;</code> option.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> if the <code class="literal">&quot;session&quot;</code> option is used in combination with an unacknowledged write concern.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\InvalidArgumentException</span> on argument parsing errors.</li><li>Throws <span class="classname">MongoDB\Driver\Exception\ConnectionException</span> if connection to the server fails (for reasons other than authentication).</li><li>Throws <span class="classname">MongoDB\Driver\Exception\AuthenticationException</span> if authentication is needed and fails.</li>
   <li>Throws <span class="classname">MongoDB\Driver\Exception\RuntimeException</span> on other errors (e.g. invalid command, issuing a write command to a secondary).</li>
  </ul>


