2014-10-07 54 views
2

我正在尋找從咕嚕轉變爲吞噬。但是,我沒有找到一種方法來使用livereload支持PHP文件,例如使用坐騎的網關(https://www.npmjs.org/package/gateway)。是否有任何插件用於運行/服務器PHP使用吞嚥任務?運行PHP服務器的Gulp插件?

+0

我不明白什麼是livereload用PHP做的......你是否想要「觀察」一些PHP文件並對它們的輸出做些什麼? – coma 2014-10-07 01:23:49

+0

類別。我希望它爲PHP文件提供服務,因爲這正是我正在使用的腳本語言(使用頭文件,頁腳包含),但也希望sass,livereload等開發UI的好處。 – user1795832 2014-10-07 01:56:58

+0

你發現如何做到這一點? – zok 2014-12-02 12:35:15

回答

1

幾周前我問完全相同的問題。我想在Gulp下啓動一個本地PHP服務器,因爲我喜歡比Grunt更好的語法。我也想使用PHP來包含其他HTML文件。 :)事實證明,有一個'gulp-connect-php'plugn,它與'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 
    }); 
}); 

我還設置好的exe文件和ini文件位置。

如果您有興趣,這是步兵代碼:

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

我希望它能幫助!

0

我結束了與http代理使用gulp連接php。最後,我的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']); 
});