mirror of
https://github.com/shivammathur/setup-php.git
synced 2024-11-25 21:13:04 +07:00
118 lines
3.7 KiB
Markdown
118 lines
3.7 KiB
Markdown
# Setup PHP in GitHub Actions
|
|
|
|
<p align="left">
|
|
<a href="https://github.com/shivammathur/setup-php"><img alt="GitHub Actions status" src="https://github.com/shivammathur/setup-php/workflows/Main%20workflow/badge.svg"></a>
|
|
<a href="https://github.com/shivammathur/setup-php/blob/master/LICENSE"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg"></a>
|
|
</p>
|
|
|
|
[GitHub Action](https://github.com/features/actions) to install PHP with required extensions, php.ini configuration and composer. This action can be added as a step in your action workflow and it will setup the PHP environment you need to test your application. Refer to [Usage](#usage) section to see how to use this.
|
|
|
|
## PHP Versions Support
|
|
- 5.6
|
|
- 7.0
|
|
- 7.1
|
|
- 7.2
|
|
- 7.3
|
|
- 7.4 `7.4.0beta4` on `ubuntu`, and `7.4.0RC2` on `windows` and `macOS`
|
|
|
|
**Note:** PHP 7.4 is currently in development, do not use in production.
|
|
|
|
## OS Support
|
|
|
|
|Virtual environment|matrix.operating-system|
|
|
|--- |--- |
|
|
|Windows Server 2019|`windows-latest` or `windows-2019`|
|
|
|Windows Server 2016 R2|`windows-2016`|
|
|
|Ubuntu 18.04|`ubuntu-latest` or `ubuntu-18.04`|
|
|
|Ubuntu 16.04|`ubuntu-16.04`|
|
|
|macOS X Mojave 10.14|`macOS-latest` or `macOS-10.14`|
|
|
|
|
|
|
## PHP Extension Support
|
|
- On `ubuntu` extensions which have the package in apt are installed.
|
|
- On `windows` and `macOS` PECL extensions are installed.
|
|
- Extensions which are installed along with PHP if specified are enabled.
|
|
- Extensions which cannot be installed gracefully leave an error message in the logs, the action is not interruped.
|
|
|
|
## Usage
|
|
|
|
Inputs supported by this GitHub Action.
|
|
|
|
- php-version
|
|
- extension-csv (optional)
|
|
- ini-values-csv (optional)
|
|
|
|
See [action.yml](action.yml) for more info
|
|
|
|
### Basic Usage
|
|
|
|
```yaml
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
- name: Installing PHP
|
|
uses: shivammathur/setup-php@master
|
|
with:
|
|
php-version: 7.3
|
|
extension-csv: mbstring, xdebug #optional
|
|
ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
|
|
- name: Check PHP Version
|
|
run: php -v
|
|
- name: Check Composer Version
|
|
run: composer -V
|
|
- name: Check PHP Extensions
|
|
run: php -m
|
|
```
|
|
|
|
### Matrix Testing
|
|
|
|
```yaml
|
|
jobs:
|
|
run:
|
|
runs-on: ${{ matrix.operating-system }}
|
|
strategy:
|
|
max-parallel: 15
|
|
matrix:
|
|
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
|
php-versions: ['5.6', '7.0', '7.1', '7.2', '7.3']
|
|
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@master
|
|
- name: Install PHP
|
|
uses: shivammathur/setup-php@master
|
|
with:
|
|
php-version: ${{ matrix.php-versions }}
|
|
extension-csv: mbstring, xdebug #optional
|
|
ini-values-csv: "post_max_size=256M, short_open_tag=On" #optional
|
|
- name: Check PHP Version
|
|
run: php -v
|
|
- name: Check Composer Version
|
|
run: composer -V
|
|
- name: Check PHP Extensions
|
|
run: php -m
|
|
|
|
```
|
|
|
|
## License
|
|
|
|
The scripts and documentation in this project are released under the [MIT License](LICENSE)
|
|
|
|
## Contributions
|
|
|
|
Contributions are welcome! See [Contributor's Guide](docs/contributors.md)
|
|
|
|
## This action uses the following works
|
|
|
|
- [powershell-phpmanager](https://github.com/mlocati/powershell-phpmanager)
|
|
- [Homebrew](https://brew.sh/)
|
|
- [ppa:ondrej/php](https://launchpad.net/~ondrej/+archive/ubuntu/php)
|
|
- [exolnet/homebrew-deprecated](https://github.com/eXolnet/homebrew-deprecated)
|
|
- [phpbrew](https://github.com/phpbrew/phpbrew)
|
|
|
|
## Further Reading
|
|
|
|
- [About GitHub Actions](https://github.com/features/actions)
|
|
- [GitHub Actions Syntax](https://help.github.com/en/articles/workflow-syntax-for-github-actions)
|
|
- [Other Awesome Actions](https://github.com/sdras/awesome-actions)
|