我正在爲Apache Server開發一個模塊。在那,我試圖從路徑/ tmp/_clusterMemberName /使用stat(const char * filename,struct stat * buf)函數讀取文件。我的問題是stat()函數返回-1,即使文件存在於路徑上。如果我將文件位置從/tmp/_clusterMemberName/更改爲/opt/,則stat()函數工作正常。請幫我找出原因。爲什麼stat()返回-1即使文件存在[RHEL 7.2]
1
A
回答
0
最可能的原因是/tmp
無法訪問。
您需要查看stat
返回的errno值。如果它是EACCES
,原因是用戶沒有訪問/tmp
的權限。如果是EPERM
,原因可能是SELinux策略阻止httpd訪問/tmp
。如果您使用的是SELinux,請確保您知道httpd_selinux
聯機幫助頁。
您可以啓用httpd
訪問/tmp
有:
setsebool httpd_tmp_t 1
,並與
setsebool -P httpd_tmp_t 1
相關問題
- 1. stat()爲什麼返回EFAULT?
- 2. 訪問總是返回-1,即使該文件存在
- 3. 爲什麼存儲過程返回-1
- 4. FileExists()返回false,即使文件存在
- 5. 爲什麼executeUpdate返回1,即使沒有插入新行?
- 6. 即使沒有更新,ExecuteNonQuery爲什麼返回1?
- 7. 爲什麼IndexOf返回-1?
- 8. 爲什麼ISNUMERIC('。')返回1?
- 9. 爲什麼UINT_MAX返回-1?
- 10. 爲什麼sqlitedatabase.insert返回-1?
- 11. 爲什麼[] .push([])返回1?
- 12. 爲什麼retainCount返回-1
- 13. 爲什麼GetCurrentProcess返回-1?
- 14. 爲什麼HttpURLConnection.getResponseCode()返回1?
- 15. SDL_BlitSurface()返回-1 ...爲什麼?
- 16. 即使元素存在,爲什麼`$(item).width()`返回'0`?
- 17. 爲什麼Request.QueryString [「ReturnUrl」]返回NULL,即使它存在於URL中?
- 18. 爲什麼mysql_num_rows($ result)返回1,即使$ result返回空結果集?
- 19. 爲什麼stat()調用返回文件大小爲零的錯誤值(0)?
- 20. 爲什麼(true && 1)返回1,但(1 && true)返回true?
- 21. 爲什麼getdate返回1 \ 1 \ 1900
- 22. 爲什麼1!= 1返回true?
- 23. 爲什麼Hibernate的DELETE即使在表爲空時也會返回1?
- 24. 爲什麼在JavaScript中返回-1
- 25. 爲什麼返回false即使執行存儲過程
- 26. 爲什麼pcap_datalink()總是返回1(以太網),即使在無線設備上?
- 27. 即使文件存在,symfony也存在返回false?
- 28. 即使文件不存在,爲什麼SELECT INTO OUTFILE給文件存在錯誤?
- 29. 即使文件不存在,爲什麼腳本仍在運行?
- 30. 爲什麼foldr立即返回?
後調用統計(變更持久),找出值錯誤號有,看看它是否適合stat中手冊頁中的一個案例。 –