Begin developing PSR-7 middleware applications in seconds!
zend-expressive builds on zend-stratigility to provide a minimalist PSR-7 middleware framework for PHP with routing, DI container, optional templating, and optional error handling capabilities.
This installer will setup a skeleton application based on zend-expressive by choosing optional packages based on user input as demonstrated in the following screenshot:
The user selected packages are saved into composer.json
so that everyone else
working on the project have the same packages installed. Configuration files and
templates are prepared for first use. The installer command is removed from
composer.json
after setup succeeded, and all installer related files are
removed.
Start your new Expressive project with composer:
$ composer create-project zendframework/zend-expressive-skeleton <project-path>
After choosing and installing the packages you want, go to the
<project-path>
and start PHP's built-in web server to verify installation:
$ composer serve
You can then browse to http://localhost:8080.
Composer commands time out after 300 seconds (5 minutes). On Linux-based systems, the
php -S
command thatcomposer server
spawns continues running as a background process, but on other systems halts when the timeout occurs.If you want the server to live longer, you can use the
COMPOSER_PROCESS_TIMEOUT
environment variable when executingcomposer serve
to extend the timeout. As an example, the following will extend it to a full day:$ COMPOSER_PROCESS_TIMEOUT=86400 composer serve
If the installer fails during the composer create-project
phase, please go
through the following list before opening a new issue. Most issues we have seen
so far can be solved by self-update
and clear-cache
.
- Be sure to work with the latest version of composer by running
composer self-update
. - Try clearing Composer's cache by running
composer clear-cache
.
If neither of the above help, you might face more serious issues:
- Info about the zlib_decode error.
- Info and solutions for composer degraded mode.
This section applies only if you cloned this repo with git clone
, not when you
installed expressive with composer create-project ...
.
If you want to run tests against the installer, you need to clone this repo and
setup all dependencies with composer. Make sure you prevent composer running
scripts with --no-scripts
, otherwise it will remove the installer and all
tests.
$ composer install --no-scripts
$ composer test
Please note that the installer tests remove installed config files and templates before and after running the tests.
Before contributing read the contributing guide.