gp

grunt-php

Start a PHP server

Showing:

Popularity

Downloads/wk

1.1K

GitHub Stars

289

Maintenance

Last Commit

10mos ago

Contributors

13

Package

Dependencies

1

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

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.

License

MIT © Sindre Sorhus

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial