使用gulp-connect-php无法获取/路径

14

我正在使用gulp-connect-php尝试在本地使用BrowserSync运行PHP服务器。以下是我的Gulp配置文件:

var gulp = require('gulp'),
    connect = require('gulp-connect-php'),
    browserSync = require('browser-sync');

gulp.task('connect-sync', function() {
  connect.server({}, function (){
    browserSync({
        server: {
            baseDir: "app"
        },
     // proxy: '127.0.0.1:8000'
    });
  });

  gulp.watch('**/*.php').on('change', function () {
    browserSync.reload();
  });
});

gulp.task( 'default', [ 'connect-sync' ] )

当我在我的应用程序目录中有一个index.html文件时,上面的代码可以正常工作,但是当我将它替换为一个index.php文件时,我会收到以下消息:

无法找到 /

不太确定我做错了什么?


只需将您的浏览器指向 http://localhost:3000/index.php。 - lofihelsinki
2个回答

1
你需要声明一个索引文件名,将 index 对象添加到 server 中。
...
browserSync({
    server: {
        baseDir: "app",
        index: "/index.php"
    },
});
...

你可以将browserSync的起始页面设置为 /index.php 而不是 / 编辑 我无法使 startPath 生效,因此请像上面的示例一样使用 index
...
browserSync({
    server: {
        baseDir: "app"
    },
    startPath: "/index.php"
});
...

@pramod-patil 我认为 Apache 的方法在这里没有帮助,因为 browserSync 不使用 Apache 来提供 PHP 服务。


1
我理解你的问题是php服务器无法识别.php文件。有两种方法可以解决这个问题。
1. Apache (httpd.conf):搜索DirectoryIndex并将该行替换为以下内容(仅在启用dir_module时有效,但大多数安装都默认启用),或添加index.php 2. 修改php.ini文件中的配置:找到“;extension=php_mysqli.dll”和“;extension=php_openssl.dll”,去掉前面的分号即可。
 DirectoryIndex index.php index.phtml index.html index.htm

在您的网站根目录下创建一个.htaccess文件。 添加以下行...
DirectoryIndex index.php

希望这有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接