-
Notifications
You must be signed in to change notification settings - Fork 0
setup.extensions
The [http://de3.php.net/ PHP language] provides tons of functions to work
with databases, xml, classes, networking and much more. These functions
are organized into so-called extensions, which are basically shared
libraries (.dll
on Windows, .so
on Un*x, ...). Certain
extensions are statically compiled into PHP (for example, the standard
extension which provides string and array functions), others need to be
loaded in order for their functionality to be available.
The XP framework depends on some of these extensions being available.
The XP framework's core depends on the following extensions being loaded:
- standard - Without which PHP wouldn't work anyways
- [php://pcre pcre] - Perl compatible regular expressions
- [php://tokenizer tokenizer] - Tokenizes strings
- [php://reflection reflection] - Reflection API
- [php://ctype ctype] - Character type functions
- [php://iconv iconv] - Encoding / decoding
- [php://date date] - Date and time functionality
One can hardly get around XML nowadays, and PHP bundles four extensions based on the Gnome XML libraries. We need all four of them enabled:
- [php://dom dom] - Document Object Model
- [php://xsl xsl] - Extensible Stylesheets
- [php://xml xml] - XML parsing
- [php://libxml libxml] - XML library internals
Although basic networking operations will work with stock PHP, for more advanced usecases the following extensions need to be available.
- [php://sockets sockets] - Socket functions, Remoting, Server APIs
- [php://ftp ftp] - File transfer protocol implementation
- [php://openssl openssl] - For SSL sockets / HTTPS transport
The GD library provides functionality to work with images, dynamically creating them, modifying, drawing, and meta data extraction functionality.
- [php://gd gd] - Graphics backend, IPTC parsing
- [php://exif exif] - EXIF support (Note: On Windows this extension also requires the [php://mbstring mbstring extension] enabled!)
The database access APIs for the various database systems require the respective drivers. See [package://rdbms the rdbms package].
To create websites, besides requiring a CGI PHP or any of the other so-
called "SAPIs" (Server APIs), for example: mod_php
for Apache,
we also depend on the [php://session session] extension being available.
This requires the [php://pcntl pcntl] and [php://posix posix] extensions which are unfortunately only available on Un*x systems.