2012-12-17 35 views
-1

我已將問題縮小到以下情況。php mkdir在從命令行調用時工作,但不是從apache(Windows)調用

我有一個簡單的文件 'test.php的'

<?php 
mkdir("w:/Input/47/"); 
?> 

當我在命令行(PHP -f test.php的)運行它,它成功地創建目錄。

當我透過玻璃窗版本的Apache的運行它,我得到:

[17-Dec-2012 16:29:49] PHP Warning: mkdir(): No such file or directory in C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs\ReportComp\test.php on line 2 

我在Windows 7(64位)作爲我的域用戶名(同一個運行的Apache 2.2(64位)我登錄到我的桌面上)

'w'驅動器是一個網絡驅動器(我相信)也在運行windows。

有什麼想法?

+3

至於哪些用戶不運行Apache?也許apache沒有寫入權限w:驅動器?附:當你在控制檯中運行時,你可能以root身份運行? –

+0

您可以以apache用戶身份登錄並嘗試再次從命令行執行該文件嗎?驅動器w:/可供apache用戶使用嗎? AFAIK Windows的新網絡文件夾可以安裝在每個用戶或每個系統策略 – hek2mgl

+0

我正在運行Apache作爲我登錄到我的桌面上的同一用戶。 –

回答

1

Windows使用「\」作爲目錄分隔符..可能這可能職高的問題,我會sugest你使用「DIRECTORY_SEPARATOR

+0

不幸的是,這並不能解釋爲什麼這是從命令行工作的,而不是apache。但是,我試過使用'/'和'\\',無論是否有尾部斜槓。我有一個限制,第三方應用程序使用相同的路徑創建文件夾那不喜歡UNC。 –

相關問題