12 KiB
php-formula
Formula to set up and configure php
WARNING: BREAKING CHANGES SINCE v1.0.0 |
---|
Prior to v1.0.0,
this formula provided two methods for managing PHP; the old method under
If you are not in a position to migrate, please pin your repo to the final release tag before v1.0.0, i.e. v0.40.1. To migrate from To migrate from the old |
Table of Contents
General notes
See the full SaltStack Formulas installation and usage instructions.
If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.
If you want to use this formula, please pay attention to the
FORMULA
file and/or git tag
, which contains
the currently released version. This formula is versioned according to
Semantic Versioning.
See Formula Versioning Section for more details.
Contributing to this repo
Commit message formatting is significant!!
Please see How to contribute for more details.
Available states
Please provide feedback by filing issues, discussing in
#salt
in Freenode and the mailing list as normal.
Note: php states require the merge parameter of salt.modules.pillar.get(), first available in the Helium release.
php
Installs the php package.
php.adodb
Installs the php-adodb package.
php.apache2
Meta-state that combines php.apache2.install and php.apache2.ini.
php.apache2.ini
Manages the apache2 php.ini file
php.apache2.install
Installs the apache2 and libapache2-mod-php5 package. Debian Only.
php.apc
Installs the php-apc package. Disabled on opensuse need server:php repo
php.apcu
Installs the php-apcu package. Disabled on opensuse need server:php repo
php.auth-sasl
Installs the php-auth-sasl package.
php.bcmath
Installs the php-bcmath package.
php.bz2
Installs the php-bz2 package.
php.cache-lite
Installs the php-cache-lite package.
php.cgi
Installs the php-cgi package. Disabled on opensuse only php5-fastcgi available.
php.cli
Meta-state that combines php.cli.install and php.cli.ini.
php.cli.ini
Manages the php-cli ini file.
php.cli.install
Installs the php-cli package.
php.composer
Installs [composer](https://getcomposer.org) and keeps it updated.
php.console-table
Installs the php-console-table package.
php.ctype
Installs the php-ctype package.
php.curl
Installs the php5-curl package on Debian, and ensures that curl itself is installed for RedHat systems, this is due to the curl libs being provided by php-common, which will get installed with the main php package.
php.dba
Installs the php-dba package.
php.dev
Installs the php5-dev and build-essential package.
php.filter
Installs the php-filter package.
php.fpm
Meta-state that combines all php.fpm states.
php.fpm.config
Manages the (non-pool) php-fpm config files.
php.fpm.install
Installs the php-fpm package.
php.fpm.pools
Meta-state that combines php.fpm.service and php.fpm.pools_config
php.fpm.pools_config
Manages php-fpm pool config files.
php.fpm.service
Manages the php-fpm service.
php.gd
Installs the php-gd package.
php.gearman
Installs the php-gearman package.
php.geoip
Installs the php-geoip package.
php.geshi
Installs the php-geshi package.
php.gettext
Installs the php-gettext package.
php.gmp
Installs the php-gmp package. Debian Only.
php.hash
Installs the php-hash package.
php.http
Installs the php-http package.
php.hhvm
Meta-state that combines php.hhvm states
php.hhvm.config
Manages the php-hhvm config files
php.hhvm.install
Installs the php-hhvm package
php.hhvm.repo
Configures the hhvm repo for debian/ubuntu
php.hhvm.service
Manages the php-hhvm service.
php.igbinary
Installs the php-igbinary package.
php.imagick
Installs the php-imagick package. Disabled on opensuse no package.
php.imap
Installs the php-imap package.
php.intl
Installs the php-intl package.
php.json
Installs the php-json package.
php.ldap
Installs the php-ldap package.
php.mail
Installs the php-mail package.
php.mbstring
Installs the php-mbstring package.
php.mcrypt
Installs the php-mcrypt package.
php.mdb2
Installs the php-mdb2 package.
php.mdb2-driver-mysql
Installs the php-mdb2-driver-mysql package.
php.mdb2-driver-pgsql
Installs the php-mdb2-driver-pgsql package.
php.memcache
Installs the php-memcache package. Disabled on opensuse need server:php:extensions repo
php.memcached
Installs the php-memcached package. Disabled on opensuse need server:php:extensions repo
php.modules
Calls php.<name>
for each entry in
php:modules
if available, or try to install the matching
packages that can be set via from php:lookup:pkgs
php.mongo
Installs the php-mongo package.
php.mongodb
Installs the php-mongodb package.
php.msgpack
Installs the php-msgpack package.
php.mysql
Installs the php-mysql package.
php.mysqlnd
Installs the php-mysqlnd package. Disabled on opensuse no package.
php.net-smtp
Installs the php-net-smtp package.
php.net4
Installs the php-net4 package.
php.net6
^^^^^^^^^^^NET6
Installs the php-net6 package.
php.oauth
Installs the php-oauth package.
php.opcache
Installs the php-opcache package.
php.openssl
Installs the php-openssl package.
php.pear
Installs the php-pear package.
php.pgsql
Installs the php-pgsql package.
php.phar
Installs the php-phar package.
php.posix
Installs the php-posix package.
php.pspell
Installs the php-pspell package.
php.readline
Installs the php-readline package.
php.redis
Installs the php-redis package. Disabled on opensuse need server:php:extensions repo
php.seclib
Installs the php-seclib package.
php.session
Installs the php-session package.
php.snmp
Installs the php-snmp package.
php.soap
Installs the php-soap package.
php.sqlite
Installs the php-sqlite package,
php.ssh2
Installs the php-ssh2 package,
php.suhosin
Installs the php-suhosin package.
php.svn
Installs the php-svn package.
php.sybase
Installs the php-sybase package.
php.tcpdf
Installs the php-tcpdf package.
php.tidy
Installs the php-tidy package.
php.uuid
Installs the php-uuid package.
php.xcache
Meta-state that combines php.xcache.install and php.xcache.ini.
php.xcache.ini
Manages the php-xcache ini file
php.xcache.install
Installs the php-xcache package. Disabled on opensuse need server:php:extensions repo
php.xdebug
Installs the php-xdebug package.
php.xml
Installs the php-xml package.
php.xsl
Installs the php-xsl package.
php.zip
Installs the php-zip package.
php.zlib
Installs the php-zlib package.
Testing
Linux testing is done with kitchen-salt
.
Requirements
- Ruby
- Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]
Where [platform]
is the platform name defined in
kitchen.yml
, e.g. debian-9-2019-2-py3
.
bin/kitchen converge
Creates the docker instance and runs the php
main
states, ready for testing.
bin/kitchen verify
Runs the inspec
tests on the actual instance.
bin/kitchen destroy
Removes the docker instance.
bin/kitchen test
Runs all of the stages above in one go: i.e. destroy
+
converge
+ verify
+ destroy
.
bin/kitchen login
Gives you SSH access to the instance for manual testing.
Testing with Vagrant
Windows/FreeBSD/OpenBSD testing is done with
kitchen-salt
.
Requirements
- Ruby
- Virtualbox
- Vagrant
Setup
$ gem install bundler
$ bundle install --with=vagrant
$ bin/kitchen test [platform]
Where [platform]
is the platform name defined in
kitchen.vagrant.yml
, e.g.
windows-81-latest-py3
.
Note
When testing using Vagrant you must set the environment variable
KITCHEN_LOCAL_YAML
to kitchen.vagrant.yml
. For
example:
$ KITCHEN_LOCAL_YAML=kitchen.vagrant.yml bin/kitchen test # Alternatively,
$ export KITCHEN_LOCAL_YAML=kitchen.vagrant.yml
$ bin/kitchen test
Then run the following commands as needed.
bin/kitchen converge
Creates the Vagrant instance and runs the php
main
states, ready for testing.
bin/kitchen verify
Runs the inspec
tests on the actual instance.
bin/kitchen destroy
Removes the Vagrant instance.
bin/kitchen test
Runs all of the stages above in one go: i.e. destroy
+
converge
+ verify
+ destroy
.
bin/kitchen login
Gives you RDP/SSH access to the instance for manual testing.