日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php升级的痛苦,升级 PHP 7.4 带来的两个大坑

發(fā)布時(shí)間:2025/3/21 php 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php升级的痛苦,升级 PHP 7.4 带来的两个大坑 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

由于我機(jī)器用的滾動(dòng)更新的 Archlinux,不知不覺(jué) php 已經(jīng)升級(jí)到7.4了,沒(méi)想到這次更新帶來(lái)了極大的麻煩。首先是 php-fpm 的新選項(xiàng) ProtectHome 會(huì)導(dǎo)致經(jīng)典的 File not found 錯(cuò)誤,再是 php 解釋器會(huì)對(duì) null 類型的下標(biāo)訪問(wèn)直接報(bào)錯(cuò) Trying to access array offset on value of type null。

最近在幫一個(gè)朋友張羅一個(gè)網(wǎng)站,于是把線上代碼拉回本地做鏡像進(jìn)行測(cè)試。因?yàn)閣eb應(yīng)用有些奇怪的依賴,為了不污染本機(jī)的環(huán)境,我就把它部署在 Docker 中進(jìn)行測(cè)試。Docker 的基礎(chǔ)鏡像選擇了激進(jìn)的 Archlinux,搭配上個(gè)月底才出爐的 php7.4。于是花了整整一個(gè)下午栽在 Debug 大坑中…

首先是一把梭配好了環(huán)境后,一跑,報(bào)了Php-fpm最經(jīng)典也是最坑的錯(cuò)誤之一:File not found 。配過(guò) php-fpm 的都知道出現(xiàn)這個(gè)錯(cuò)誤一般是文件權(quán)限不對(duì)或者文件路徑不對(duì),而這兩個(gè)錯(cuò)誤都是比較難找的。于是我又雙叒叕體驗(yàn)了一把大眼瞪小眼的路徑檢查,沒(méi)問(wèn)題。文件權(quán)限檢查,emmm也沒(méi)問(wèn)題呀?又返回去檢查路徑,還是沒(méi)問(wèn)題!搞到最后氣的 chmod 777一把梭竟然也沒(méi)能解決問(wèn)題,有點(diǎn)懷疑人生…

網(wǎng)上搜索 php-fpm 的 File not found 錯(cuò)誤,雖然結(jié)果很多,可原因都只有這兩個(gè)。而這兩個(gè)原因也都被一一排除了,事情突然向神奇的角度發(fā)展起來(lái)了...

不知過(guò)了多久之后我才想到可能是跟 php 版本有關(guān)(因?yàn)槲冶緳C(jī)也跑了其它 php 應(yīng)用,所以一開(kāi)始并不覺(jué)得 php 有問(wèn)題)。于是我去搜了一下新版 php7.4 及 php-fpm7.4 的改動(dòng),一下就發(fā)現(xiàn)了罪魁禍?zhǔn)?#xff1a;php7.4 Commit

這個(gè)提交中添加了一個(gè)選項(xiàng):ProtectHome 。顧名思義,開(kāi)啟了之后 php 不會(huì)去執(zhí)行在家目錄中的文件 ——而這個(gè)新選項(xiàng)的默認(rèn)值恰好是開(kāi)啟的。使用 systemctl edit php-fpm.service 添加一個(gè)選項(xiàng)覆蓋,重啟服務(wù)后,終于一切正常,并迎來(lái)第二個(gè)大坑錯(cuò)誤:

php 中經(jīng)常使用 inlcude,require 等來(lái)包含其它文件。而調(diào)試發(fā)現(xiàn)在某個(gè) include 之后,php 直接停止執(zhí)行并報(bào)錯(cuò) Trying to access array offset on value of type null。但是在線上的代碼跑起來(lái)卻一點(diǎn)問(wèn)題也沒(méi)有,這就很奇怪了,跟到 include 的文件中之后發(fā)現(xiàn)是有個(gè)地方在訪問(wèn)數(shù)組元素,而數(shù)組本身卻是 null 。在 php 這種弱類型語(yǔ)言中這種語(yǔ)法一般是支持的,它會(huì)整體返回 null ,而在新版的 php7.4 中這個(gè)語(yǔ)法卻會(huì)報(bào)告為錯(cuò)誤。看來(lái)Php也在一點(diǎn)點(diǎn)規(guī)范語(yǔ)言的特性,沒(méi)辦法,這個(gè)只能自己改代碼了。(雖然我目前選擇了使用舊版本的 php)

由于 php7.4 在上個(gè)月底才剛剛發(fā)布,估計(jì)還沒(méi)有大面積更新使用,各個(gè)應(yīng)用的開(kāi)發(fā)者可能也沒(méi)有針對(duì) php7.4 進(jìn)行過(guò)測(cè)試和兼容修改。也正是因此,在網(wǎng)上搜索這些信息時(shí),找不到什么有價(jià)值的建議,這篇文章除了記錄下被這個(gè)新特性坑了一下午之外,也算給其它人留一個(gè)解決類似問(wèn)題的思路吧。

總結(jié)

以上是生活随笔為你收集整理的php升级的痛苦,升级 PHP 7.4 带来的两个大坑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 床戏高潮呻吟声片段 | 欧美激情性生活 | 青青草一区二区三区 | 色眯眯影院 | 欧美精品免费视频 | 日韩插插插 | 免费欧美一区 | 久久精品99 | 露胸app | xxxwww黄色 | 曰本女人与公拘交酡 | 九九小视频| 中文字幕无码人妻少妇免费 | 看黄网站在线观看 | 那里可以看毛片 | www.欧美视频| 国产性猛交xxxⅹ交酡全过程 | 伊人国产在线视频 | 国产sm网站 | 69热在线观看| 夜夜操操操 | 精品国产一区二区三区av性色 | 三级视频黄色 | 欧美一区二区三区久久成人精品 | 一区二区成人免费视频 | 蜜臀久久精品久久久用户群体 | 日韩av电影网址 | 少妇2做爰bd在线意大利堕落 | 日韩欧美在线中文字幕 | 九九九九九九精品 | 成人精品一区二区三区视频 | 青青操免费在线视频 | 亚洲美女色 | 成年人在线播放 | 91免费版视频 | 欧美日韩在线视频免费 | 九九自拍偷拍 | julia一区二区三区中文字幕 | 国产欧美日韩精品在线观看 | 在线免费观看成人 | 国产精品久久久网站 | 99精品国产一区二区 | 污片在线免费看 | 日日操天天操 | 日韩美女网站 | 国产女人18水真多18精品一级做 | 熟女人妻在线视频 | 国产精品毛片视频 | 波多野结衣亚洲天堂 | 丰满人妻一区二区三区性色 | 丰满大爆乳波霸奶 | 韩国19主播内部福利vip | 九七电影院97理论片 | 中文av字幕 | 一级肉体全黄裸片 | 国产麻豆午夜三级精品 | 国产黄色网络 | 嫩草影院黄色 | 天天操夜夜干 | 播放毛片 | 未满十八岁禁止进入 | 天天插天天操天天干 | 久久精品中文闷骚内射 | 久久久av一区二区三区 | 日韩成人在线网站 | 日韩一区二区三区视频 | 青青草手机在线 | 日本毛片在线观看 | 色老头在线视频 | 婷婷九九 | 亚洲综合久久网 | av在线免费观看不卡 | 亚洲精品一区在线 | 在线看福利影 | 精彩久久 | 国产一区二区网站 | 韩国成人在线视频 | 国产99久久| 最新日本中文字幕 | 中出视频在线观看 | 亚洲国产精品免费视频 | 永久免费未满蜜桃 | 狠狠影院 | 国产老熟女一区二区三区 | 久久国产视频网站 | 亚洲激情视频网 | 亚洲自拍天堂 | 欧美特黄视频 | 精品国产自在精品国产精小说 | 欧美操操操 | 精品久久久久久久 | 亚洲精品中文字幕在线播放 | 操碰在线观看 | youjizz.com最新| 蜜桃视频导航 | 亚洲熟悉妇女xxx妇女av | 亚州一二区 | 欧美激情一区二区三区 | 国自产拍偷拍精品啪啪一区二区 |