我有一個運行 Django 的 apache 2.2 伺服器。我們有一個網頁磁碟機 T:我們需要在 Django 應用程式中不斷存取它。當將 Apache 作為服務運行時,我們無法存取該驅動器,就任何 django 程式碼而言,該驅動器都不存在。
如果我添加...
<Directory "t:/">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
在 httpd.conf 檔案中,服務不再運行,但我可以將 apache 作為控制台啟動,它工作正常,Django 可以找到網路驅動器,一切都很好。
為什麼控制台和服務之間會有差異?應該有差別嗎?我使用自己的登入來使用該服務,因此理論上它應該具有與我相同的存取權限。
我熱衷於讓它作為服務運行,因為當我在伺服器上工作時它不會那麼引人注目(除非有辦法隱藏控制台?)。非常感激任何的幫助。
答案1
我發現您使用的是 Windows。映射驅動器是基於 Windows 的使用者:它們需要互動式使用者。它可以「從控制台」運行,因為您已登入。我不知道這是否有效,但嘗試更改服務的設定以在您的用戶下運行。看看是否有幫助。
您也可以嘗試使用自動ExNT服務在登入前運行批次文件,類似於
net use T: \\host\share_name /PERSISTENT:YES
映射驅動器可能位於系統帳戶的上下文中,因此當您從正常會話登入時,您可能無法看到映射磁碟機。
我主要在 Linux 上工作。我認為一些更高級的 Windows 管理員可以想出一些東西來改進這一點,或者給你一個完整的秘訣。