2015-09-24 102 views
2

我們在我的同事的機器上有一個Gruntfile.js,它看起來像這樣。爲什麼grunt-php路由器忽略我的基本路徑?

php: { 
    dist: { 
     options: { 
      port: 8888, 
      useAvailablePort: true, 
      keepalive: true, 
      router: '_router.php', 
      base: 'src' //dev mode 
     } 
    } 
}, 

...並且它在他的機器上正常工作,但不是我的。 _router.php位於頂層目錄。在dev部署期間,運行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屬性中明確指定基目錄,而我的團隊中沒有其他人?

回答

0

可能是因爲path.resolve未使用給定的簡單選項提供在任務中產生的php腳本的絕對路徑,並且options.base將真實路徑加入路由器。

雖然任務需要內部spawn一個完整路徑router,它只是變得從options.routerphp.js的相對路徑,這pukes彩虹獨角獸火花隨處可見。

The original issue is here。那最後是fixed here,但是this problem persisted,所以它現在appears fixed here,但還沒有合併grunt-php主。