php-doc-en/reference/ffi/setup.xml
2019-10-23 07:13:34 +00:00

120 lines
3.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<chapter xml:id="ffi.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.setup;
<section xml:id="ffi.requirements">
&reftitle.required;
<para>
This extension requires the <link xlink:href="&url.libffi;">libffi library</link>
to be installed.
</para>
</section>
<!-- {{{ Installation -->
&reference.ffi.configure;
<!-- }}} -->
<section xml:id="ffi.configuration">
&reftitle.runtime;
&extension.runtime;
<para>
<table>
<title>FFI &ConfigureOptions;</title>
<tgroup cols="4">
<thead>
<row>
<entry>&Name;</entry>
<entry>&Default;</entry>
<entry>&Changeable;</entry>
<entry>&Changelog;</entry>
</row>
</thead>
<tbody>
<row>
<entry><link linkend="ini.ffi.enable">ffi.enable</link></entry>
<entry>"preload"</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
<row>
<entry><link linkend="ini.ffi.preload">ffi.preload</link></entry>
<entry>""</entry>
<entry>PHP_INI_SYSTEM</entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
&ini.php.constants;
</para>
&ini.descriptions.title;
<para>
<variablelist>
<varlistentry xml:id="ini.ffi.enable">
<term>
<parameter>ffi.enable</parameter>
<type>string</type>
</term>
<listitem>
<para>
Allows enabling (<literal>"true"</literal>) or disabling
(<literal>"false"</literal>) FFI API usage, or restricting it only to
the CLI SAPI and preloaded files (<literal>"preload"</literal>).
</para>
<para>
The FFI API restrictions only affect the <classname>FFI</classname> class,
but not overloaded functions of <classname>FFI\CData</classname> objects.
This means that it is possible to create some <classname>FFI\CData</classname>
objects in preloaded files, and then to use these directly in PHP scripts.
</para>
</listitem>
</varlistentry>
<varlistentry xml:id="ini.ffi.preload">
<term>
<parameter>ffi.preload</parameter>
<type>string</type>
</term>
<listitem>
<para>
Allows preloading of FFI bindings during startup, which is not possible with <methodname>FFI::load</methodname>
if <link linkend="ini.opcache.preload-user">opcache.preload_user</link> is set.
This directive accepts a <constant>DIRECTORY_SEPARATOR</constant> delimited list of filenames.
The preloaded bindings can be accessed by calling <methodname>FFI::scope</methodname>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>
<section xml:id="ffi.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
-->