0
我試圖遞歸文件模式與PHP的所有目錄,並使用:PHP的exec找不工作
find /path/to/dir -type d -exec chmod 777 {} \;
工作在命令行很大,但使用它從服務器:
exec('find /path/to/dir -type d -exec chmod 777 {} \;');
什麼都不做。有任何想法嗎?它是否與權限相關?路徑是真正的路徑服務器級別。
我試圖遞歸文件模式與PHP的所有目錄,並使用:PHP的exec找不工作
find /path/to/dir -type d -exec chmod 777 {} \;
工作在命令行很大,但使用它從服務器:
exec('find /path/to/dir -type d -exec chmod 777 {} \;');
什麼都不做。有任何想法嗎?它是否與權限相關?路徑是真正的路徑服務器級別。
當你在命令行上運行它時,你將它作爲你的用戶運行,它可能是路徑的所有者。當你從PHP執行exec()時,Apache用戶正在執行此操作。只有一個文件/目錄的所有者可以chmod它。要確認是這種情況,請嘗試從PHP CLI Interactive Shell運行您的exec()腳本。在交互式Shell中,您可以運行PHP代碼,但它將以您的用戶身份執行。
如果事實證明是原因,您必須首先chown目錄,它的子文件/目錄由Apache用戶擁有。
你已經設置了'error_reporting(E_ALL); ini_set('display_errors',1);',對嗎? – Charles
當然,這是我做的第一件事情來檢查錯誤 – David
'exec'版本從第一個缺少'3'。 –