簡體   English   中英

Docker PHP / Nginx環境無法使用反斜杠處理文件夾路徑

[英]Docker PHP/Nginx environment can't handle folder path with backslashes

我正在Windows的Docker上運行客戶端Symfony3應用程序。 我的docker-compose非常簡單:PHP7.1,Nginx,MySQL和phpMyAdmin。

一切運行正常,但是當PHP嘗試訪問包含正斜杠和反斜杠的文件路徑時,出現了多個錯誤。

例如,我遇到的第一個錯誤是: "Session Storage was not able to create directory "/var/www/symfony\\app/../var/sessions/prod""

這不是權限問題,因為當我找到調用此文件的代碼的PHP部分並將\\app替換為/app一切正常,並且應用程序將運行至下一個路徑。

我絕對不能替換代碼中的所有反斜杠,因為其他開發人員可能會在Windows上工作並將這些反斜杠放在一個原因。 但是,我很確定我已經使用這種路徑之王運行了應用程序,沒有任何問題。

是否知道它可能來自哪里? PHP配置? Nginx的配置?

謝謝 !

因此,如果您想使Dockerfile看起來像Windows-y,請使用反引號進行轉義,注意不適用的指令,並堅持使用shell形式運行命令:

# escape=`

FROM microsoft/nanoserver  
COPY template.html c:\template.html  
RUN mkdir c:\inetpub\wwwroot  
RUN powershell `  
     cat c:\template.html `
     > c:\inetpub\wwwroot\index.html

@ref: https ://blog.sixeyed.com/windows-dockerfiles-and-the-backtick-backslash-backlash/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM