Adding documenation for wincache pecl extension.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@290571 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Ruslan Yakushev 2009-11-12 06:56:58 +00:00
parent d739883917
commit 8dc51c5878
13 changed files with 1592 additions and 0 deletions

View file

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<!-- Membership: pecl -->
<book xml:id="book.wincache" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Windows Cache for PHP</title>
<titleabbrev>WinCache</titleabbrev>
<preface xml:id="intro.wincache">
&reftitle.intro;
<para>
Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of
PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for
PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the
functionality without any code modifications.
</para>
<para>
The Windows Cache Extension includes 3 different types of caches. The following describes
the purpose of each cache type and the benefits it provides.
</para>
<itemizedlist>
<listitem>
<para>
<emphasis>PHP Opcode Cache</emphasis> - PHP is a script processing engine, which reads
an input stream of data that contains text and/or PHP instructions and produces another
stream of data, most commonly in the HTML format. This means that on a web server the
PHP engine reads, parses, compiles and executes a PHP script each time that it is requested
by a Web client. The reading, parsing and compilation operations put additional load on the
web server's CPU and file system and thus affect the overall performance of a PHP web application.
The PHP bytecode (opcode) cache is used to store the compiled script bytecode in shared memory so
that it can be re-used by PHP engine for subsequent executions of the same script.
</para>
</listitem>
<listitem>
<para>
<emphasis>File Cache</emphasis> - Even with the PHP bytecode cache enabled, the PHP engine
has to accesses the script files on a file system. When PHP scripts are stored on a remote
UNC file share, the file operations introduce a significant performance overhead.
The Windows Cache Extension for PHP includes a file cache that is used to store the content
of the PHP script files in shared memory, which reduces the amount of file system operations
performed by PHP engine.
</para>
</listitem>
<listitem>
<para>
<emphasis>Relative File Path Cache</emphasis> - PHP scripts very often include or operate
with files by using relative file paths. Every relative file path has to be converted to
an absolute file path by the PHP engine. When a PHP application uses many PHP files and
accesses them by relative paths, the operation of resolving relative paths to absolute paths
may negatively impact the application's performance. The Windows Cache Extension for PHP
provides a Relative File Path cache, which is used to store the mappings between relative
and absolute file paths, thereby reducing the number of relative path resolutions that the
PHP engine has to perform.
</para>
</listitem>
</itemizedlist>
</preface>
&reference.wincache.setup;
&reference.wincache.constants;
&reference.wincache.reference;
</book>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<appendix xml:id="wincache.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&no.constants;
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-fcache-fileinfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_fcache_fileinfo</refname>
<refpurpose>
Retrieves information about files cached in the file cache
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>wincache_fcache_fileinfo</methodname>
<void/>
</methodsynopsis>
<para>
Retrieves information about file cache content and its usage.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Array of meta data about file cache &return.falseforfailure;
</para>
<para>
The array returned by this function contains the following elements:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>total_cache_uptime</literal> - total time in seconds that the file cache has been active
</simpara>
</listitem>
<listitem>
<simpara>
<literal>total_file_count</literal> - total number of files that are currently in the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>total_hit_count</literal> - number of times the files have been served from the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>total_miss_count</literal> - number of times the files have note been found in the file cache
</simpara>
</listitem>
<listitem>
<para>
<literal>file_entries</literal> - an array that contains the information about all the cached files:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>file_name</literal> - absolute file name of the cached file
</simpara>
</listitem>
<listitem>
<simpara>
<literal>add_time</literal> - time in seconds since the file has been added to the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>use_time</literal> - time in seconds since the file has been accessed in the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>last_check</literal> - time in seconds since the file has been checked for modifications
</simpara>
</listitem>
<listitem>
<simpara>
<literal>hit_count</literal> - number of times the file has been served from the cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>file_size</literal> - size of the cached file in bytes
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>wincache_fcache_fileinfo</function> example</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
print_r(wincache_fcache_fileinfo());
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
( [total_cache_uptime] => 3234
[total_file_count] => 5
[total_hit_count] => 0
[total_miss_count] => 1
[file_entries] => Array
(
[1] => Array
(
[file_name] => c:\inetpub\wwwroot\checkcache.php
[add_time] => 1
[use_time] => 0
[last_check] => 1
[hit_count] => 1
[file_size] => 2435
)
[2] => Array (...iterates for each cached file)
)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>wincache_fcache_meminfo</function></member>
<member><function>wincache_ocache_fileinfo</function></member>
<member><function>wincache_ocache_meminfo</function></member>
<member><function>wincache_rplist_fileinfo</function></member>
<member><function>wincache_rplist_meminfo</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-fcache-meminfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_fcache_meminfo</refname>
<refpurpose>
Retrieves information about file cache memory usage
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>wincache_fcache_meminfo</methodname>
<void/>
</methodsynopsis>
<para>
Retrieves information about memory usage by file cache.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Array of meta data about file cache memory usage &return.falseforfailure;
</para>
<para>
The array returned by this function contains the following elements:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>memory_total</literal> - amount of memory in bytes allocated for the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>memory_free</literal> - amount of free memory in bytes available for the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>num_used_blks</literal> - number of memory blocks used by the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>num_free_blks</literal> - number of free memory blocks available for the file cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>memory_overhead</literal> - amount of memory in bytes used for the file cache internal structures
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>wincache_fcache_meminfo</function> example</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
print_r(wincache_fcache_meminfo());
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[memory_total] => 134217728
[memory_free] => 131339120
[num_used_blks] => 361
[num_free_blks] => 3
[memory_overhead] => 5856
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_ocache_fileinfo</function></member>
<member><function>wincache_ocache_meminfo</function></member>
<member><function>wincache_rplist_fileinfo</function></member>
<member><function>wincache_rplist_meminfo</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-ocache-fileinfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_ocache_fileinfo</refname>
<refpurpose>
Retrieves information about files cached in the opcode cache
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>wincache_ocache_fileinfo</methodname>
<void/>
</methodsynopsis>
<para>
Retrieves information about opcode cache content and its usage.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Array of meta data about opcode cache &return.falseforfailure;
</para>
<para>
The array returned by this function contains the following elements:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>total_cache_uptime</literal> - total time in seconds that the opcode cache has been active
</simpara>
</listitem>
<listitem>
<simpara>
<literal>total_file_count</literal> - total number of files that are currently in the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>total_hit_count</literal> - number of times the compiled opcode have been served from the cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>total_miss_count</literal> - number of times the compiled opcode have note been found in the cache
</simpara>
</listitem>
<listitem>
<para>
<literal>file_entries</literal> - an array that contains the information about all the cached files:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>file_name</literal> - absolute file name of the cached file
</simpara>
</listitem>
<listitem>
<simpara>
<literal>add_time</literal> - time in seconds since the file has been added to the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>use_time</literal> - time in seconds since the file has been accessed in the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>last_check</literal> - time in seconds since the file has been checked for modifications
</simpara>
</listitem>
<listitem>
<simpara>
<literal>hit_count</literal> - number of times the file has been served from the cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>function_count</literal> - number of functions in the cached file
</simpara>
</listitem>
<listitem>
<simpara>
<literal>class_count</literal> - number of classes in the cached file
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>wincache_ocache_fileinfo</function> example</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
print_r(wincache_ocache_fileinfo());
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[total_cache_uptime] => 17357
[total_file_count] => 121
[total_hit_count] => 36562
[total_miss_count] => 201
[file_entries] => Array
(
[1] => Array
(
[file_name] => c:\inetpub\wwwroot\checkcache.php
[add_time] => 17356
[use_time] => 7
[last_check] => 10
[hit_count] => 454
[function_count] => 0
[class_count] => 1
)
[2] => Array (...iterates for each cached file)
)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_fcache_meminfo</function></member>
<member><function>wincache_ocache_meminfo</function></member>
<member><function>wincache_rplist_fileinfo</function></member>
<member><function>wincache_rplist_meminfo</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-ocache-meminfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_ocache_meminfo</refname>
<refpurpose>
Retrieves information about opcode cache memory usage
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>wincache_ocache_meminfo</methodname>
<void/>
</methodsynopsis>
<para>
Retrieves information about memory usage by opcode cache.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Array of meta data about opcode cache memory usage &return.falseforfailure;
</para>
<para>
The array returned by this function contains the following elements:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>memory_total</literal> - amount of memory in bytes allocated for the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>memory_free</literal> - amount of free memory in bytes available for the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>num_used_blks</literal> - number of memory blocks used by the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>num_free_blks</literal> - number of free memory blocks available for the opcode cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>memory_overhead</literal> - amount of memory in bytes used for the opcode cache internal structures
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>wincache_ocache_meminfo</function> example</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
print_r(wincache_ocache_meminfo());
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[memory_total] => 134217728
[memory_free] => 112106972
[num_used_blks] => 15469
[num_free_blks] => 4
[memory_overhead] => 247600
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_ocache_fileinfo</function></member>
<member><function>wincache_rplist_fileinfo</function></member>
<member><function>wincache_rplist_meminfo</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-refresh-if-changed" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_refresh_if_changed</refname>
<refpurpose>
Refreshes the cache entries for the cached files
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>wincache_refresh_if_changed</methodname>
<methodparam choice="opt"><type>array</type><parameter>files</parameter></methodparam>
</methodsynopsis>
<para>
Refreshes the cache entries for the files, whose names were passed in the input argument.
If no argument is specified then refreshes all the entries in the cache.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>files</parameter></term>
<listitem>
<para>
An array of file names for files that need to be refreshed.
An absolute or relative file paths can be used.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
WinCache performs regular checks on the cached files to
ensure that if any file has changed then the corresponding entry in the cache is
updated. By default this check is performed every 30 seconds. If, for example,
a PHP script updates another PHP script where the application's
configuration settings are stored, then it may happen that after the
configuration settings have been saved to a file, the application is still using
old settings for some time until the cache is refreshed. In those cases it may be
preferrable to refresh the cache right after the file has been changed. The
following example shows how this can be done.
<example>
<title>A <function>wincache_refresh_if_changed</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$filename = 'C:\inetpub\wwwroot\config.php';
$handle = fopen($filename, 'w+');
if ($handle === FALSE) die('Failed to open file '.$filename.' for writing');
fwrite($handle, '<?php $setting=something; ?>');
fclose($handle);
wincache_refresh_if_changed(array($filename));
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-rplist-fileinfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_rplist_fileinfo</refname>
<refpurpose>
Retrieves information about relative file path cache
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>wincache_rplist_fileinfo</methodname>
<void/>
</methodsynopsis>
<para>
Retrieves information about cached mappings between relative file paths
and corresponding absolute file paths.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Array of meta data about the relative file path cache &return.falseforfailure;
</para>
<para>
The array returned by this function contains the following elements:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>total_file_count</literal> - total number of relative file path
mappings stored in the cache
</simpara>
</listitem>
<listitem>
<para>
<literal>rplist_entries</literal> - an array that contains the information about all
the cached relative file paths:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>relative_path</literal> - relative path to a file
</simpara>
</listitem>
<listitem>
<simpara>
<literal>subkey_data</literal> - corresponding absolute path to a file
</simpara>
</listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>wincache_rplist_fileinfo</function> example</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
print_r(wincache_rplist_fileinfo());
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[total_file_count] => 5
[rplist_entries] => Array
(
[1] => Array
(
[relative_path] => checkcache.php
[subkey_data] => c:\inetpub\wwwroot|c:\inetpub\wwwroot\checkcache.php
)
[2] => Array (...iterates for each cached file)
)
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>wincache_fcache_meminfo</function></member>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_ocache_fileinfo</function></member>
<member><function>wincache_ocache_meminfo</function></member>
<member><function>wincache_rplist_meminfo</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<refentry xml:id="function.wincache-rplist-meminfo" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>wincache_rplist_meminfo</refname>
<refpurpose>
Retrieves information about memory usage by the relative file path cache
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>wincache_rplist_meminfo</methodname>
<void/>
</methodsynopsis>
<para>
Retrieves information about memory usage by relative file path cache.
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Array of meta data that describes memory usage by relative file path cache. &return.falseforfailure;
</para>
<para>
The array returned by this function contains the following elements:
<itemizedlist spacing="compact">
<listitem>
<simpara>
<literal>memory_total</literal> - amount of memory in bytes allocated for the relative file path cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>memory_free</literal> - amount of free memory in bytes available for the relative file path cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>num_used_blks</literal> - number of memory blocks used by the relative file path cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>num_free_blks</literal> - number of free memory blocks available for the relative file path cache
</simpara>
</listitem>
<listitem>
<simpara>
<literal>memory_overhead</literal> - amount of memory in bytes used for the internal structures of relative file path cache
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A <function>wincache_rplist_meminfo</function> example</title>
<programlisting role="php">
<![CDATA[
<pre>
<?php
print_r(wincache_rplist_meminfo());
?>
</pre>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[memory_total] => 9437184
[memory_free] => 9416744
[num_used_blks] => 23
[num_free_blks] => 1
[memory_overhead] => 416
)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_fcache_fileinfo</function></member>
<member><function>wincache_ocache_fileinfo</function></member>
<member><function>wincache_ocache_meminfo</function></member>
<member><function>wincache_rplist_fileinfo</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

340
reference/wincache/ini.xml Normal file
View file

@ -0,0 +1,340 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<section xml:id="wincache.configuration" xmlns="http://docbook.org/ns/docbook">
&reftitle.runtime;
&extension.runtime;
<para>
The following table lists and explains the configuration settings
provided by the WinCache extension:
</para>
<para>
<table>
<title>WinCache configuration options</title>
<tgroup cols="6">
<thead>
<row>
<entry>Name</entry>
<entry>Default</entry>
<entry>Minimum</entry>
<entry>Maximum</entry>
<entry>Changeable</entry>
<entry>Changelog</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.wincache.fcenabled">wincache.fcenabled</link></entry>
<entry>"1"</entry>
<entry>"0"</entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.fcenabledfilter">wincache.fcenabledfilter</link></entry>
<entry>"NULL"</entry>
<entry>"NULL"</entry>
<entry>"NULL"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.fcachesize">wincache.fcachesize</link></entry>
<entry>"24"</entry>
<entry>"8"</entry>
<entry>"128"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.maxfilesize">wincache.maxfilesize</link></entry>
<entry>"256"</entry>
<entry>"10"</entry>
<entry>"2048"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.ocenabled">wincache.ocenabled</link></entry>
<entry>"1"</entry>
<entry>"0"</entry>
<entry>"1"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.ocenabledfilter">wincache.ocenabledfilter</link></entry>
<entry>"NULL"</entry>
<entry>"NULL"</entry>
<entry>"NULL"</entry>
<entry>PHP_INI_ALL</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.ocachesize">wincache.ocachesize</link></entry>
<entry>"96"</entry>
<entry>"16"</entry>
<entry>"256"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.filecount">wincache.filecount</link></entry>
<entry>"4096"</entry>
<entry>"1024"</entry>
<entry>"16384"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.chkinterval">wincache.chkinterval</link></entry>
<entry>"30"</entry>
<entry>"0"</entry>
<entry>"300"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.ttlmax">wincache.ttlmax</link></entry>
<entry>"1200"</entry>
<entry>"0"</entry>
<entry>"7200"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.enablecli">wincache.enablecli</link></entry>
<entry>0</entry>
<entry>0</entry>
<entry>1</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.ignorelist">wincache.ignorelist</link></entry>
<entry>NULL</entry>
<entry>NULL</entry>
<entry>NULL</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
<row>
<entry><link linkend="ini.wincache.namesalt">wincache.namesalt</link></entry>
<entry>NULL</entry>
<entry>NULL</entry>
<entry>NULL</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry>Available since WinCache 1.0.0</entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.wincache.fcenabled">
<term>
<parameter>wincache.fcenabled</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>Enables or disables the file cache functionality.</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.fcenabledfilter">
<term>
<parameter>wincache.fcenabledfilter</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Defines a comma-separated list of IIS web site identifiers where file
cache should be enabled or disabled. This setting works in conjunction
with <literal>wincache.fcenabled</literal>: if <literal>wincache.fcenabled</literal>
is set to 1, then the sites listed in the <literal>wincache.fcenabledfilter</literal>
will have the file cache turned off; if <literal>wincache.fcenabled</literal>
is set to 0, then the sites listed in the <literal>wincache.fcenabledfilter</literal>
will have the file cache turned on.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.fcachesize">
<term>
<parameter>wincache.fcachesize</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
Defines the maximum memory size (in megabytes) that is allocated for the file cache.
If the total size of all the cached files exceeds the value specified in this setting,
then most stale files will be removed from the file cache.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.maxfilesize">
<term>
<parameter>wincache.maxfilesize</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
Defines the maximum allowed size (in kilobytes) for a single file to be cached.
If a file size exceeds the specified value, the file will not be cached.
This setting applies to the file cache only.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.ocenabled">
<term>
<parameter>wincache.ocenabled</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>Enables or disables the opcode cache functionality</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.ocenabledfilter">
<term>
<parameter>wincache.ocenabledfilter</parameter>
<type>string</type>
</term>
<listitem>
<simpara>
Defines a comma-separated list of IIS web site identifiers where opcode
cache should be enabled or disabled. This setting works in conjunction
with <literal>wincache.ocenabled</literal>: if <literal>wincache.ocenabled</literal>
is set to 1, then the sites listed in the <literal>wincache.ocenabledfilter</literal>
will have the opcode cache turned off; if <literal>wincache.ocenabled</literal>
is set to 0, then the sites listed in the <literal>wincache.ocenabledfilter</literal>
will have the opcode cache turned on.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.ocachesize">
<term>
<parameter>wincache.ocachesize</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
Defines the maximum memory size (in megabytes) that is allocated for the
opcode cache. If the cached opcode size exceeds the specified value,
then most stale opcode will be removed from the cache.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.filecount">
<term>
<parameter>wincache.filecount</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
Defines how many files are expected to be cached by the extension, so that appropriate
memory size is allocated at the startup time. If the number of files exceeds the specified
value, the WinCache will re-allocate more memory as needed.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.chkinterval">
<term>
<parameter>wincache.chkinterval</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
Defines how often (in seconds) the extension checks for file changes in order
to refresh the cache. Setting it to 0 will disable the refreshing of the cache.
The file changes will not be reflected in the cache unless the cache entry for
that file is removed by scavenger or IIS application pool is recycled or
wincache_refresh_if_changed function is called.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.ttlmax">
<term>
<parameter>wincache.ttlmax</parameter>
<type>integer</type>
</term>
<listitem>
<simpara>
Defines the maximum time to live (in seconds) for a cached entry without being used.
Setting it to 0 will disable the cache scavenger, so the cached entries will never
be removed from the cache during the lifetime of the IIS worker process.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.enablecli">
<term>
<parameter>wincache.enablecli</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
Defines if caching is enabled when PHP is running in command line (CLI) mode.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.ignorelist">
<term>
<parameter>wincache.ignorelist</parameter>
<type>string</type>
</term>
<listitem>
<para>
Defines a list of files that should not be cached by the extension.
The files list is specified by using file names only, separated by
the pipe symbol - "|".
<example>
<title><literal>wincache.ignorelist</literal> example</title>
<programlisting role="ini">
<![CDATA[
wincache.ignorelist = "index.php|misc.php|admin.php"
]]>
</programlisting>
</example>
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.wincache.namesalt">
<term>
<parameter>wincache.namesalt</parameter>
<type>boolean</type>
</term>
<listitem>
<simpara>
Defines a string that will be used when naming the extension
specific objects that are stored in shared memory. This is used
to avoid conflicts that may be caused if other applications within
an IIS worker process tries to access shared memory.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<reference xml:id="ref.wincache" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>WinCache &Functions;</title>
&reference.wincache.entities.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 1 $ -->
<chapter xml:id="wincache.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<section xml:id="wincache.requirements">
&reftitle.required;
<para>
The extension is currently supported only on the following configurations:
</para>
<simpara>Windows OS:</simpara>
<itemizedlist spacing="compact">
<listitem>
<simpara>Windows XP SP3 with IIS 5.1 and <link xlink:href="&url.iis.fastcgi.downloads;">FastCGI Extension</link></simpara>
</listitem>
<listitem>
<simpara>Windows Server 2003 with IIS 6.0 and <link xlink:href="&url.iis.fastcgi.downloads;">FastCGI Extension</link></simpara>
</listitem>
<listitem>
<simpara>Windows Vista SP1 with IIS 7.0 and FastCGI Module</simpara>
</listitem>
<listitem>
<simpara>Windows Server 2008 with IIS 7.0 and FastCGI Module</simpara>
</listitem>
</itemizedlist>
<simpara>PHP:</simpara>
<itemizedlist spacing="compact">
<listitem>
<simpara>PHP 5.2.X, Non-thread-safe build</simpara>
</listitem>
<listitem>
<simpara>PHP 5.3 X86, Non-thread-safe VC9 build</simpara>
</listitem>
</itemizedlist>
<note>
<simpara>
The WinCache Extension can only be used when IIS is configured to run PHP via FastCGI.
</simpara>
</note>
</section>
<section xml:id="wincache.installation">
&reftitle.install;
<para>
&pecl.moved;
</para>
<para>
&pecl.info;
<link xlink:href="&url.pecl.package;wincache">&url.pecl.package;wincache</link>.
</para>
<para>
There are two packages for this extension: one package is for PHP versions 5.2.X,
and the other package is for PHP 5.3.X. Select the package that is appropriate for
the PHP version being used.
</para>
<para>
To install and enable the extension, follow these steps:
</para>
<procedure>
<step>
<simpara>
Unpack the package into some temporary location.
</simpara>
</step>
<step>
<simpara>
Copy the <filename>php_wincache.dll</filename> file into the PHP extensions folder.
Typically this folder is called "ext" and it is located in the same folder with all
PHP binary files. For example: <filename>C:\Program Files\PHP\ext</filename>.
</simpara>
</step>
<step>
<simpara>
Using a text editor, open the php.ini file, which is usually located in the
same folder where all PHP binary files are. For example:
<filename>C:\Program Files\PHP\php.ini</filename>.
</simpara>
</step>
<step>
<simpara>
Add the following line at the end of the php.ini file:
<literal>extension = php_wincache.dll</literal>.
</simpara>
</step>
<step>
<simpara>
Save and close the <filename>php.ini</filename> file.
</simpara>
</step>
<step>
<simpara>
Recycle the IIS Application Pools for PHP to pick up the configuration changes.
To check that the extension has been enabled, create a file called
<filename>phpinfo.php</filename> with a PHP code that calls
<link linkend="function.phpinfo">phpinfo</link> function.
</simpara>
</step>
<step>
<simpara>
Save the <filename>phpinfo.php</filename> file in the root folder of a
IIS web site that uses PHP, then open a browser and make a request to
http://localhost/phpinfo.php. Search within the returned web page
for a section called <literal>wincache</literal>. If the extension
is enabled, then the <link linkend="function.phpinfo">phpinfo</link>
output will list the configuration settings provided by the WinCache.
</simpara>
</step>
</procedure>
<note>
<simpara>
Do not forget to remove <filename>phpinfo.php</filename> file from the web site's root folder after verifying that extension has been enabled.
</simpara>
</note>
</section>
&reference.wincache.ini;
<section xml:id="wincache.resources">
&reftitle.resources;
&no.resource;
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,35 @@
<?xml version='1.0' encoding='utf-8'?>
<!-- $Revision: 1 $ -->
<!--
Do NOT translate this file
-->
<versions>
<function name='wincache_fcache_fileinfo' from='PECL wincache &gt;= 1.0.0'/>
<function name='wincache_fcache_meminfo' from='PECL wincache &gt;= 1.0.0'/>
<function name='wincache_ocache_fileinfo' from='PECL wincache &gt;= 1.0.0'/>
<function name='wincache_ocache_meminfo' from='PECL wincache &gt;= 1.0.0'/>
<function name='wincache_rplist_fileinfo' from='PECL wincache &gt;= 1.0.0'/>
<function name='wincache_rplist_meminfo' from='PECL wincache &gt;= 1.0.0'/>
<function name='wincache_refresh_if_changed' from='PECL wincache &gt;= 1.0.0'/>
</versions>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->