php.ini
The php.ini files in php-wasm work exactly the same as in normal php. See the PHP docs for the full list of ini settings.
[php]
date.timezone=UTC
tidy.clean_output=1
expose_php=0
Setting up php.ini at Runtime
You can pass in the ini
property to the
constructor to add lines to /php.ini
:
const php = new PhpWeb({ini: `
date.timezone=${Intl.DateTimeFormat().resolvedOptions().timeZone}
tidy.clean_output=1
expose_php=0
`});
FS Locations
If present, The /config/php.ini
and
/preload/php.ini
files will also be loaded. You can
learn how to populate the filesystem in Loading Files.
Loading Extensions by PHP Version
PHP allows for ${ENVIRONMENT_VARIABLES}
to be
used inside ini files. The PHP_VERSION
environment
variable is provided to allow loading of the extension
compatible with the currently running version of PHP.
[php]
extension=php${PHP_VERSION}-phar.so
Remember to correctly escape the $
if you’re
supplying the INI from Javascript with
՝backtics՝
.
const php = new PhpWeb({ini: `
extension=php\${PHP_VERSION}-phar.so
date.timezone=${Intl.DateTimeFormat().resolvedOptions().timeZone}
`});
CGI Configuration
When running in CGI mode, php will look for a
php.ini
file in the document root directory, and
load it along with the files listed above.