欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬主機(jī)、營(yíng)銷軟件、網(wǎng)站建設(shè)、昌江網(wǎng)站維護(hù)、網(wǎng)站推廣。

問(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ò)誤。  

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

錯(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)題。

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


在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

目錄:

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

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

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

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

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

目錄的執(zhí)行權(quán)限影響file_exists()

1、給test一個(gè)較大的權(quán)限——755

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

既然成功了,說(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é)果。

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

總結(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)限了(一般都很好理解)。

在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題

上述就是小編為大家分享的在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標(biāo)題:在PHP中使用file_exists時(shí)會(huì)遇到哪些問(wèn)題-創(chuàng)新互聯(lián)
URL地址:http://chinadenli.net/article22/ddidcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化網(wǎng)站策劃品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作自適應(yīng)網(wǎng)站、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司