我们的同事机器上有一个Gruntfile.js。
php: {
dist: {
options: {
port: 8888,
useAvailablePort: true,
keepalive: true,
router: '_router.php',
base: 'src' //dev mode
}
}
},
......它在他的机器上工作正常但不是我的机器。 _router.php
位于顶级目录中。在开发部署期间,运行grunt dev
会导致我的控制台无错误。
PHP 5.5.27 Development Server started at Wed Sep 23 17:31:54 2015
Listening on http://127.0.0.1:8888
Document root is /Users/toszter/Engineering/moo/sources/local/web/src
Press Ctrl-C to quit.
[Wed Sep 23 17:39:33 2015] 127.0.0.1:53910 Invalid request (Unexpected EOF)
然而,我在浏览器中看到localhost:8888 ......
Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0
Fatal error: Unknown: Failed opening required '_router.php' (include_path='.:') in Unknown on line 0
将上面代码中的router
属性更改为router: 'src/_router.php'
可以修复我的计算机上的问题,但会破坏其他所有人。
所以它需要一些解释:为什么我需要在我的router
属性中明确地重新指定基目录而我的团队中没有其他人?
答案 0 :(得分:0)
可能是因为path.resolve
没有通过使用给定的简单选项和options.base
加入路由器的真实路径来提供在任务中生成的php脚本的绝对路径。
虽然任务期望router
内spawn
的完整路径,但它只能获得options.router
内php.js
的相对路径,这会让彩虹独角兽到处闪烁。
original issue is here。那最终是fixed here,但this problem persisted,现在它appears fixed here但尚未与grunt-php
主人合并。