grunt-php

3.0.0 • Public • Published

grunt-php Build Status

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
]);

Use it with grunt-contrib-watch

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

Package Sidebar

Install

npm i grunt-php

Weekly Downloads

1,780

Version

3.0.0

License

MIT

Unpacked Size

5.27 kB

Total Files

4

Last publish

Collaborators

  • sindresorhus