Start a PHP-server
Pretty much a drop-in replacement for grunt-contrib-connect. Useful for eg. running tests on a PHP project.
Uses the built-in server in PHP 5.4.0+.
Doesn't have a middleware
option as grunt-contrib-connect does.
$ npm install --save-dev grunt-php
require('load-grunt-tasks')(grunt); // npm install --save-dev load-grunt-tasks
grunt.initConfig({
php: {
dist: {
options: {
port: 5000
}
}
}
});
grunt.registerTask('default', ['php']);
grunt.initConfig({
php: {
test: {
options: {
keepalive: true,
open: true
}
}
}
});
grunt.registerTask('test', ['php', 'mocha']);
Use it with grunt-contrib-watch
grunt.initConfig({
php: {
watch: {}
}
});
grunt.registerTask('phpwatch', ['php:watch', 'watch']);
Type: number
Default: 8000
The port on which you want to access the webserver. Task will fail if the port is already in use.
Type: string
Default: '127.0.0.1'
(usually same as localhost
)
The hostname the webserver will use.
Use 0.0.0.0
if you want it to be accessible from the outside.
Type: string
Default: '.'
From which folder the webserver will be served. Defaults to the directory of the Gruntfile.
Type: boolean
Default: false
Keep the server alive indefinitely. Any task specified after this will not run.
This option can also be enabled ad-hoc by running the task like grunt php:targetname:keepalive
Type: boolean
Default: false
Open the server in the browser when the task is triggered.
Type: string
Optionally specify the path to a router script that is run at the start of each HTTP request. If this script returns false
, then the requested resource is returned as-is. Otherwise the script's output is returned to the browser.
Example router script:
<?php
// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is
} else {
echo "<p>Thanks for using grunt-php :)</p>";
}
?>
Type: string
Default: 'php'
Specify a custom path to the PHP binary. Useful if you have multiple versions of PHP installed.
MIT © Sindre Sorhus