吞噬PHP与BrowserSync和代理服务器抛出错误

时间:2015-08-24 14:35:05

标签: php node.js gulp http-proxy browser-sync

在Windows 10上升级/重置后,我不得不重新下载我的所有开发工具。我似乎无法让我的服务器使用gulp-connect-php,gulp-browser-sync和http-proxy。任务(下面)实际上来自这个答案:Gulp-webapp running BrowserSync and PHP

这是来自Yeoman的一代gulp-webapp之上。常规的“服务”工作,但当然不会启动PHP文件。我在升级之前就已经开始工作了,但是当我尝试调出URL时,现在http-proxy错误地出现了ECONNREFUSED。请注意,在我实际转到URL之前不会出错,如果任务设置为不自动打开浏览器,则在转到localhost:3000之前不会出错。

任何想法导致此错误?

Gulp任务

fortune && something

有错误的Gulp Run任务

gulp.task('php-serve', ['styles', 'fonts'], () => {
  phpConnect.server({
    port: 9001,
    base: 'app',
    open: false
  });
  const proxy = httpProxy.createProxyServer({});
  browserSync({
    notify: false,
    open: 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: 'http://127.0.0.1:9001' });
        }
        else {
          next();
        }
      }
    }
  });

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

2 个答案:

答案 0 :(得分:1)

我想我知道原因。

检查或者您的计算机上安装了php并添加到路径变量中。

打开命令行并输入:

$ php --version

如果它返回:

sh.exe": php: command not found

这意味着路径变量中没有安装它。

您只需安装WAMP / XAMP或MAMP即可安装php https://www.apachefriends.org/index.html

为了确保它在你的道路上我喜欢使用patheditor https://patheditor2.codeplex.com/

经历了这些简单的步骤 1)打开路径编辑器 2)点击“用户”部分中的“添加” 3)搜索php.exe所在的文件夹。 (通常类似于:C:/ xampp / php) 4)再次单击“确定”和“确定”以关闭路径编辑器 5)重新打开你的命令行工具,你会看到$ php --version将找到php.exe

尝试再次运行您的gulp任务。它应该工作!

答案 1 :(得分:0)

安装了http-proxy和/或gulp-php-connect。我卸载了它们,清除了npm缓存,并进行了全新安装。之后一切都很好。