鍍金池/ 問答/PHP/ TP5建立緩存文件會(huì)建到服務(wù)器根目錄去

TP5建立緩存文件會(huì)建到服務(wù)器根目錄去

is_dir(): open_basedir restriction in effect. File(/) is not within the allowed path(s): (/home/www.abc.com/public:/home/www.abc.com/:/proc/:/tmp)

關(guān)鍵File(/)不是應(yīng)該指向runtime/cache里面嗎,怎么會(huì)變成/,我打印var_dump(RUNTIME_PATH . 'cache' . DS);輸出"/home/www.abc.com/runtime/cache/",這里的地址對啊,真的搞不懂,有大神幫我解釋下嗎?

回答
編輯回答
不舍棄
  1. tp的緩存目錄是用常量CACHE_PATH設(shè)置的。建議你打印一下CACHE_PATH,看看指向的目錄在哪里。
  2. 看了報(bào)錯(cuò)原因,應(yīng)該是open_basedir限制了PHP能操作的目錄, 在虛擬主機(jī)的conf里加上
fastcgi_param PHP_ADMIN_VALUE open_basedir=$document_root/:/home/www.abc.com/runtime/cache/

然后重啟nginx

2018年8月29日 18:28
編輯回答
詆毀你

檢查下代碼,實(shí)在發(fā)現(xiàn)不了,可以一步一步的打印,跟著代碼走,看看哪里的路徑出現(xiàn)了錯(cuò)誤

2017年7月12日 09:45
編輯回答
瞄小懶

樓上說的正解,我看了下你打印緩存目錄是對的,但是生成的時(shí)候是在根目錄,建議你去看下生成緩存的方法是不是指定了目錄或者是不是源碼里面改動(dòng)過根本沒有讀系統(tǒng)的配置

2017年10月28日 01:10