2012-11-09 63 views
0

基本上我爲我的博客創建了一個主題,我需要將customcss.css設置爲可寫入777,這樣當我在後端更改設計時,它會寫入此文件。在WordPress中設置chmod時出現的問題

一切正常,100%,當我手動設置chmod777,但是當我嘗試使用chmod設置爲777激活它顯示此錯誤消息時:

警告命令:chmod():不允許操作在上線74

/var/www/vhosts/domainname.com/wptest/wp-content/themes/ctheme/ThemeFunctions/th emeinstall.php我使用的代碼如下:

$rootpage = get_theme_root(); 
chmod($rootpage . '/ctheme/css/customcss.css', 0777); 

我已經搜索了這個網站,很遺憾沒有發現類似的東西。我究竟做錯了什麼?

+1

「不起作用」不是一個好的描述。你應該說實際的結果是什麼。同時啓用WP_DEBUG,這可能會向您顯示更多錯誤信息。 – hakre

+0

@hakre我道歉說,對不起......這裏是錯誤消息我收到警告命令:chmod():操作不/var/www/vhosts/domainname.com/wptest/wp-content/themes/ctheme許可/ThemeFunctions/themeinstall.php 74行 - 這是我得到的唯一的錯誤消息 – Robert

+0

只是一個標準的權限被拒絕。執行該命令的用戶無法更改權限。更改目錄的所有者,這可能是可能的。但是,請保留手動chmodding。另外一個主題應該永遠不需要chmod目錄到777恕我直言。 – hakre

回答

1

當您手動執行命令時,您是外殼中的用戶,允許更改模式。

當你寫PHP函數chmod到腳本,它會被其他用戶,正在執行PHP用戶執行。

因爲該用戶不允許更改文件的模式。這就是你看到錯誤的原因。

除非你不改變正在執行PHP用戶(更改,然後終於改變模式的用戶),這個錯誤不會消失。

+0

這裏的解決方法是將文件chown到apache(或任何用戶正在運行腳本)。如果後端正在創建文件,那麼他應該將它們傳送給適當的用戶。 – tazer84