我正在使用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' ] )
当我在app目录中有一个index.html文件时,上面的代码有效,但当我用index.php文件替换它时,我得到以下消息:
无法获取/
不完全确定我在这里做错了什么?
答案 0 :(得分:1)
我从你的问题中理解的是,php服务器无法识别.php文件。有两种方法可以完成这项工作。
Apache(httpd.conf),搜索DirectoryIndex并用此替换该行(仅在启用dir_module时才有效,但在大多数安装时都是默认值)或添加index.php
DirectoryIndex index.php index.phtml index.html index.htm
或 在Web根目录中创建.htaccess文件。 添加行...
DirectoryIndex index.php
希望这有帮助!
答案 1 :(得分:1)
您需要声明索引文件名,并将index
对象添加到server
。
...
browserSync({
server: {
baseDir: "app",
index: "/index.php"
},
});
...
你也可以将browserSync startpage设置为/index.php而不是/
修改我无法使用startPath
,因此请使用上面示例中的index
。
...
browserSync({
server: {
baseDir: "app"
},
startPath: "/index.php"
});
...
@ pramod-patil我不认为Apache方向会对此有所帮助,因为browserSync不使用Apache来提供PHP服务。