mirror of
				https://github.com/shivammathur/setup-php.git
				synced 2025-10-31 15:26:23 +07:00 
			
		
		
		
	
			
				
					
						
					
					e63fd8e122b9244cdeb482b6e92a56a6de6824a9
				
			
			
		
	Setup PHP in GitHub Actions
Setup PHP with required extensions, php.ini configuration and composer in GitHub Actions. 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 section to see how to use this.
🎉 PHP Support
| PHP Version | Stability | Release Support | 
|---|---|---|
| 5.6 | Stable | End of life | 
| 7.0 | Stable | End of life | 
| 7.1 | Stable | Security fixes only | 
| 7.2 | Stable | Active | 
| 7.3 | Stable | Active | 
| 7.4 | Beta/RC | Active | 
Note: PHP 7.4 is currently in development, do not use in production/release branches.
☁️ OS/Platform Support
| Virtual environment | matrix.operating-system | 
|---|---|
| Windows Server 2019 | windows-latestorwindows-2019 | 
| Windows Server 2016 R2 | windows-2016 | 
| Ubuntu 18.04 | ubuntu-latestorubuntu-18.04 | 
| Ubuntu 16.04 | ubuntu-16.04 | 
| macOS X Mojave 10.14 | macOS-latestormacOS-10.14 | 
🔧 PHP Extension Support
- On ubuntuextensions which have the package in apt are installed.
- On windowsandmacOSPECL 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 for more info
Basic Usage
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
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. This project has multiple dependencies and their licenses can be found in their respective repositories.
👍 Contributions
Contributions are welcome! See Contributor's Guide.
💖 Support this project
🔖 This action uses the following works
📑 Further Reading
					Languages
				
				
								
								
									TypeScript
								
								40.7%
							
						
							
								
								
									Shell
								
								37%
							
						
							
								
								
									PowerShell
								
								20.4%
							
						
							
								
								
									PHP
								
								1.4%
							
						
							
								
								
									JavaScript
								
								0.5%
							
						
					