This package is compliant with PSR-1, PSR-2 and PSR-4. If you notice compliance oversights, please send a patch via pull request.
Via Composer:
composer require --dev phpsu/phpsuIf you have problems with conflicting versions. eg. symfony:2.* you can use the composer-bin-plugin
composer require --dev bamarni/composer-bin-plugin
composer bin phpsu require --dev phpsu/phpsu
# we recommend to install it with the auto installation scripts:
composer config scripts.bin "echo 'bin not installed'"
composer config scripts.post-install-cmd '@composer bin all install --ansi'
composer config scripts.post-update-cmd '@composer bin all update --ansi'
echo '/vendor-bin/**/vendor' >> .gitignoreThe following versions of PHP are supported by this version.
- PHP
7.0,7.1,7.2and7.3 - Compatible and continuously tested with symfony
3.2,3.4and4.2
Required for synchronisation are:
sshon execution Systemrsyncon executing Systemmysqldumpon source Systemmysqlon destination Systems
Unfortunately we do not support Windows yet.
The full Documentation can be found in the /docs Directory.
Simple configuration example phpsu-config.php:
<?php
declare(strict_types=1);
$globalConfig = new \PHPSu\Config\GlobalConfig();
$globalConfig->addFilesystem('Image Uploads', 'var/storage')
->addExclude('*.mp4')
->addExclude('*.mp3')
->addExclude('*.zip')
->addExcludes(['*.jpg', '*.gif']);
$globalConfig->addSshConnection('hostA', 'ssh://user@localhost:2208');
$globalConfig->addAppInstance('production', 'hostA', '/var/www/')
->setCompression(new \PHPSu\Config\Compression\GzipCompression())
->addDatabase('app', 'mysql://root:password@127.0.0.1:3307/production01db')
->addExclude('table1')
->addExclude('table2')
->addExcludes(['table3', 'table4']);
$globalConfig->addAppInstance('local')
->setCompression(new \PHPSu\Config\Compression\GzipCompression())
->addDatabase('app', 'mysql://root:root@127.0.0.1/testingLocal');
return $globalConfig;phpsu sync production --dry-run
phpsu sync p --no-db
phpsu sync p --no-fs
phpsu sync production testing --allinstall for Contribution
git clone git@github.com:phpsu/phpsu.git
cd phpsu
composer installcomposer testYou can also check, whether any changes you made are affecting your tests immediately on save:
composer test:watchIf you see a low Mutation Score Indicator (MSI) value, you can show the mutations that are escaping:
composer infection -- -sIf you discover any security related issues, please email git@kanti.de instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.