2014-10-07 2 views
2

Я ищу переход от ворча к глотку. Однако я не нахожу способ обслуживать файлы PHP с поддержкой пера, например, шлюз (https://www.npmjs.org/package/gateway) с помощью mounts. Есть ли какие-либо плагины там для запуска/сервера PHP, используя задачу gulp?Плагин Gulp для запуска PHP-сервера?

+0

Я не понимаю, что имеет LiveReload делать с PHP ... Вы пытаетесь «смотреть» некоторые PHP файлы и делать что-то с их выходом? – coma

+0

Вид. Я хочу, чтобы он служил PHP-файлам, потому что это то, что я использую для сценариев (используя include для заголовка, нижнего колонтитула), но также хочу использовать преимущества sass, livereload и т. Д. Для разработки пользовательского интерфейса. – user1795832

+0

Вы узнали, как это сделать? – zok

ответ

1

Я задал совершенно тот же вопрос несколько недель назад. Я хочу запустить собственный PHP-сервер под Gulp, потому что мне нравится синтаксис лучше, чем Grunt. Я также хочу использовать PHP только для включения других файлов HTML. :) Оказывается, есть плагин 'gulp-connect-php', который имеет очень похожий синтаксис плагина 'grunt-php'.

https://www.npmjs.com/package/gulp-connect-php

https://www.npmjs.com/package/grunt-php

Вот мой код Глоток:

var gulp = require('gulp'), 
    livereload = require('gulp-livereload'), 
    connectPHP = require('gulp-connect-php'); 

gulp.task('connect', function() { 
    connectPHP.server({ 
    hostname: '0.0.0.0', 
    bin: 'C:/php/php.exe', 
    ini: 'C:/php/php.ini', 
    port: 8000, 
    base: 'dev', 
    livereload: true 
    }); 
}); 

Я также выставиться ехе и INI местоположение файла.

Если вы заинтересованы, это код для Грунта:

php: { 
    watch: { 
    options: { 
     livereload: true, 
     bin: 'C:/php/php.exe', 
     ini: 'C:/php/php.ini', 
     base: '../development', 
     port: 8000 
    } 
    } 
} 

Я надеюсь, что это помогает!

0

Я закончил с использованием gulp-connect-php с http-proxy. В конце концов, мой PHP служить задача выглядит следующим образом:

gulp.task('php-serve', ['styles', 'fonts'], function() { 
connect.server({ 
    port: 9001, 
    base: 'app', 
    open: false 
}); 

var proxy = httpProxy.createProxyServer({}); 

browserSync({ 
    notify: false, 
    port : 9000, 
    server: { 
     baseDir : ['.tmp', 'app'], 
     routes : { 
      '/bower_components': 'bower_components' 
     }, 
     middleware: function (req, res, next) { 
      var url = req.url; 

      if (!url.match(/^\/(styles|fonts|bower_components)\//)) { 
       proxy.web(req, res, { target: '{ip address taken out}:9001' }); 
      } else { 
       next(); 
      } 
     } 
    } 
}); 

// watch for changes 
gulp.watch([ 
    'app/*.html', 
    'app/*.php', 
    'app/scripts/**/*.js', 
    'app/images/**/*', 
    '.tmp/fonts/**/*' 
]).on('change', reload); 

gulp.watch('app/styles/**/*.scss', ['styles']); 
gulp.watch('app/fonts/**/*', ['fonts']); 
gulp.watch('bower.json', ['wiredep', 'fonts']); 
}); 
Смежные вопросы