公司有個(gè)框架是基于smarty寫(xiě)的,我負(fù)責(zé)php的升級(jí),維護(hù)人員把新環(huán)境布上來(lái)之后,測(cè)試人員找我提出經(jīng)常報(bào)錯(cuò)(錯(cuò)誤:提示找不到文件的)。   我追蹤了一下代碼,原來(lái)是smarty的這個(gè)地方報(bào)的錯(cuò)誤。 錯(cuò)誤:這里報(bào)出文件不 " /> 久久亚洲国产成人亚,最好看2019高清中文字幕,一区二区国产在线播放

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP file_exists問(wèn)題雜談

問(wèn)題

  公司有個(gè)框架是基于smarty寫(xiě)的,我負(fù)責(zé)php的升級(jí),維護(hù)人員把新環(huán)境布上來(lái)之后,測(cè)試人員找我提出經(jīng)常報(bào)錯(cuò)(錯(cuò)誤:提示找不到文件的)。
  我追蹤了一下代碼,原來(lái)是smarty的這個(gè)地方報(bào)的錯(cuò)誤。

錯(cuò)誤:這里報(bào)出文件不存在。
  思考過(guò)程:
  1、我原以為是程序里沒(méi)有這個(gè)文件呢,結(jié)果發(fā)現(xiàn),文件是有的,那是怎么回事?
  2、后來(lái)我再猜是不是php內(nèi)核有問(wèn)題,我把php的相關(guān)內(nèi)核文件看了一遍,也沒(méi)發(fā)現(xiàn)問(wèn)題。結(jié)果我就把整個(gè)過(guò)程跟項(xiàng)目經(jīng)理說(shuō)去了。――事情也沒(méi)解決,就這樣先不了了之。升級(jí)的事情先耽誤著。
  今天又發(fā)現(xiàn)這個(gè)問(wèn)題,我第一反應(yīng)是php版本是不是升級(jí)了,發(fā)現(xiàn)沒(méi)有。――后來(lái)把整個(gè)目錄設(shè)置成777就沒(méi)事了(chmod 777 -R 目錄)。我想是不是file_exists()方法問(wèn)題。
  所以,我就進(jìn)行了相關(guān)的調(diào)試和實(shí)驗(yàn)。

調(diào)試過(guò)程  調(diào)試代碼:

目錄:

 

觀察各個(gè)權(quán)限:test對(duì)www是沒(méi)有任何權(quán)限的,而執(zhí)行文件index.php有讀寫(xiě)執(zhí)行權(quán)限,包含文件test.txt有讀寫(xiě)權(quán)限。

運(yùn)行結(jié)果:

 

 目錄的執(zhí)行權(quán)限影響file_exists() 1、給test一個(gè)最大的權(quán)限――755

 


既然成功了,說(shuō)明file_exists()函數(shù)是受目錄權(quán)限的限制的。
那什么樣的目錄權(quán)限影響file_exists()呢?
我做了幾個(gè)實(shí)驗(yàn):
1、文件的任何上級(jí)目錄,只有寫(xiě)權(quán)限時(shí)報(bào)文件不存在;
2、文件的任何上級(jí)目錄,只有讀權(quán)限時(shí)也報(bào)文件不存在;
3、而當(dāng)所有上級(jí)目錄都有執(zhí)行權(quán)限的時(shí)候,報(bào)文件是存在的,一切都正常。
結(jié)果,說(shuō)明file_exists()在判斷文件是否存在的時(shí)候是遞歸判斷每個(gè)目錄是不是有執(zhí)行權(quán)限。

修改文件路徑為相對(duì)路徑,得出一樣的結(jié)果。

總結(jié)

php手冊(cè)上并沒(méi)有提到,file_exists會(huì)受目錄的執(zhí)行權(quán)限影響。今通過(guò)此文告知那些也有這方面問(wèn)題的開(kāi)發(fā)者。僅以此為戒。

附加信息

感謝大家留的言,非常有用。經(jīng)過(guò)大家的意見(jiàn)我再查了下手冊(cè),確實(shí),如果目錄沒(méi)有執(zhí)行權(quán)限,php-fpm應(yīng)用進(jìn)程就不能到這個(gè)目錄下面去進(jìn)行文件搜索,當(dāng)然就認(rèn)為文件不存在(實(shí)際是認(rèn)為沒(méi)有可執(zhí)行的目錄是不存在的)。
手冊(cè)內(nèi)容,大家可以一起斟酌一下,主要是執(zhí)行權(quán)限。在這里就不詳談讀寫(xiě)權(quán)限了(一般都很好理解)。

明顯手冊(cè)中,對(duì)目錄的執(zhí)行權(quán)限有明確的指示。對(duì)目錄的執(zhí)行權(quán)限,就是擁有被搜索的權(quán)利。

php技術(shù)PHP file_exists問(wèn)題雜談,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲一区二区在线免费观看 | 国产激情一级毛片久久久 | 免费观看很黄很色的大片 | 久久国产自偷自偷免 | 国产在线观看91精品一区 | 欧美在线精品永久免费播放 | 国产爱搞 | 男人把女人c爽的免费视频 男人操女人免费视频 | 91短视频在线高清hd | 国产免费久久精品99久久 | 国产小视频福利 | 亚洲成a人在线观看 | 三级毛片网 | 最新69成人精品毛片 | 亚洲一区 在线播放 | 国产精品污 | 欧美视频在线免费 | 成年网站未满十八禁毛片免费 | 国产精品系列在线 | 天天爽天天乐 | 五月婷亚洲 | 日韩在线观看一区 | 亚洲s色 | 中文字幕无线码中文字幕免费 | 一级做a爱片性色毛片武则天五则 | 国内黄色一级精品 | 麻豆精品密在线观看 | 亚洲日本一区二区三区在线 | 成人精品 | 国产亚洲精品国产第一 | 2021色噜噜狠狠综曰曰曰 | 日韩精品一区二区三区四区 | 精品伊人久久久大香线蕉欧美 | 国产精自产拍久久久久久蜜 | 婷婷精品在线 | 色一色在线观看视频网站 | 精品久久中文久久久 | 在线免费一区 | 欧美黑人巨大日本人又爽又色 | 97菊爱网| 色在线视频播放 |