成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PHP file_exists有多坑爹

開發 后端
我原以為是程序里沒有這個文件呢,結果發現,文件是有的,那是怎么回事,我第一反應是php版本是不是升級了,發現沒有。后來把整個目錄設置成777就沒事了(chmod 777 -R 目錄)。我想是不是file_exists()方法問題。

我發現了一個問題,今天與大家分享。我把整個過程描述一下。

問題

公司有個框架是基于smarty寫的,我負責php的升級,維護人員把新環境布上來之后,測試人員找我提出經常報錯(錯誤:提示找不到文件的)。我追蹤了一下代碼,原來是smarty的這個地方報的錯誤。

錯誤:這里報出文件不存在。

思考過程:

1、我原以為是程序里沒有這個文件呢,結果發現,文件是有的,那是怎么回事?

2、后來我再猜是不是php內核有問題,我把php的相關內核文件看了一遍,也沒發現問題。結果我就把整個過程跟項目經理說去了。——事情也沒解決,就這樣先不了了之。升級的事情先耽誤著。

今天又發現這個問題,我***反應是php版本是不是升級了,發現沒有。——后來把整個目錄設置成777就沒事了(chmod 777 -R 目錄)。我想是不是file_exists()方法問題。

所以,我就進行了相關的調試和實驗。

[[70107]]

調試過程

調試代碼:

目錄:

觀察各個權限:test對www是沒有任何權限的,而執行文件index.php有讀寫執行權限,包含文件test.txt有讀寫權限。

運行結果:

[[70109]]

目錄的執行權限影響file_exists()

1、給test一個***的權限——755

[[70110]]

既然成功了,說明file_exists()函數是受目錄權限的限制的。

那什么樣的目錄權限影響file_exists()呢?

我做了幾個實驗:

1、文件的任何上級目錄,只有寫權限時報文件不存在;

2、文件的任何上級目錄,只有讀權限時也報文件不存在;

3、而當所有上級目錄都有執行權限的時候,報文件是存在的,一切都正常。

結果,說明file_exists()在判斷文件是否存在的時候是遞歸判斷每個目錄是不是有執行權限。

修改文件路徑為相對路徑,得出一樣的結果。

總結

在php手冊上并沒有提到,file_exists會受目錄的執行權限影響。今通過此文告知那些也有這方面問題的開發者。僅以此為戒。

附加信息

感謝大家留的言,非常有用。經過大家的意見我再查了下手冊,確實,如果目錄沒有執行權限,php-fpm應用進程就不能到這個目錄下面去進行文件搜索,當然就認為文件不存在(實際是認為沒有可執行的目錄是不存在的)。

手冊內容,大家可以一起斟酌一下,主要是執行權限。在這里就不詳談讀寫權限了(一般都很好理解)。

明顯手冊中,對目錄的執行權限有明確的指示。對目錄的執行權限,就是擁有被搜索的權利。

[[70111]]

推薦

如果這篇文章對你有所幫助,或者也讓你解決了此類問題,請推薦一把,讓哥們有更強的寫作動力。

原文鏈接:http://www.cnblogs.com/baochuan/archive/2012/05/06/2445822.html

 

責任編輯:張偉 來源: 川山甲的博客
相關推薦

2019-04-09 09:50:34

2011-12-15 09:45:21

PhoneGap

2011-12-22 19:57:38

PhoneGap

2018-01-11 16:30:03

數據庫MySQLSQL

2020-05-21 13:45:03

Java坑爹編程語言

2019-06-13 16:30:37

代碼Java編程語言

2013-12-23 09:44:43

2021-01-13 09:14:00

緩存穿透RPC

2021-05-08 09:02:19

Java加載器

2024-02-02 08:12:40

AB實驗雙盲測試搜索實驗

2011-09-08 17:31:29

Steply社交圖片

2017-08-29 08:35:01

好技術淘汰產品

2019-09-10 13:16:23

ARP地址解析協議局域網

2014-07-22 14:39:46

手游坑爹AppStore

2013-08-05 15:39:00

WP應用下載

2013-06-07 13:48:54

2024-04-02 08:41:10

ArrayListSubList場景

2022-03-21 19:24:15

Objects方法false

2019-01-15 10:16:05

2018-04-15 22:17:20

PHP引用變量
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人高清视频 | 羞羞视频在线观看网站 | 国产一区免费 | 免费视频久久 | 在线不卡一区 | 欧美日韩高清 | 黄网站在线观看 | www.中文字幕.com| 毛片a级毛片免费播放100 | 91观看| 欧美激情视频一区二区三区免费 | 国产精品久久国产精品久久 | 中文字幕在线观看成人 | 国产精品99久久久久久动医院 | 免费人成在线观看网站 | 久久国产精品精品 | 国产aa | 91免费电影 | 手机av网| 国产在线成人 | 日韩a| 成人在线看片 | 国产精品无码久久久久 | 日韩免费一区二区 | 九一视频在线播放 | 天堂av在线影院 | 三级在线观看 | 国产精品国产a | 午夜天堂精品久久久久 | 日韩精品成人免费观看视频 | 免费激情 | 精品一区二区三区中文字幕 | 欧美中文一区 | 精品一区二区三区在线视频 | 91观看| 久久精品视频在线观看 | 一区二区福利视频 | 日韩免费一区 | 国精产品一区一区三区免费完 | 国产精品美女久久久久久久网站 | 欧美精品一二三区 |