Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

sindresorhus/grunt-php

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

grunt-php

Start a PHP server

Useful for developing PHP projects or running tests on them.

Pretty much a drop-in replacement for grunt-contrib-connect, except for the middleware option.

Uses the PHP built-in server.

Install

$ npm install --save-dev grunt-php

Usage

require('load-grunt-tasks')(grunt);

grunt.initConfig({
	php: {
		dist: {
			options: {
				port: 5000
			}
		}
	}
});

grunt.registerTask('default', ['php']);

Examples

Start a persistent PHP server and open in browser

grunt.initConfig({
	php: {
		test: {
			options: {
				keepAlive: true,
				open: true
			}
		}
	}
});

grunt.registerTask('test', ['php', 'mocha']);

Use it with BrowserSync

grunt.initConfig({
	php: {
		dist: {
			options: {
				port: 9000,
				base: 'dist' // Project root
			}
		}
	},
	browserSync: {
		dist: {
			bsFiles: {
				src: [
					// Files you want to watch for changes
				]
			},
			options: {
				proxy: '<%= php.dist.options.hostname %>:<%= php.dist.options.port %>',
				watchTask: true,
				notify: true,
				open: true,
				logLevel: 'silent',
				ghostMode: {
					clicks: true,
					scroll: true,
					links: true,
					forms: true
				}
			}
		}
	},
	watch: {
		// Your watch tasks
	}
});

grunt.registerTask('serve', [
	'php:dist',         // Start PHP Server
	'browserSync:dist', // Using the PHP instance as a proxy
	'watch'             // Any other watch tasks you want to run
]);
grunt.initConfig({
	php: {
		watch: {}
	}
});

grunt.registerTask('phpwatch', ['php:watch', 'watch']);

Add path for a custom error log

const path = require('path');

grunt.initConfig({
	php: {
		dist: {
			options: {
				directives: {
					'error_log': path.resolve('logs/error.log')
				}
			}
		}
	}
});

grunt.registerTask('default', ['php']);

Options

Supports all the php-server options in addition to the ones below.

keepAlive

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.

silent

Type: boolean
Default: false

Suppress output produced by the PHP server.

Related

License

MIT © Sindre Sorhus

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.