久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

Discuz! 官方交流社區

標題: Discuz! X 3.4, 更新PHP7.4后無法打開uc_server的解決方案! [打印本頁]

作者: allthebest    時間: 2020-12-6 05:23
標題: Discuz! X 3.4, 更新PHP7.4后無法打開uc_server的解決方案!
本帖最后由 allthebest 于 2020-12-6 12:54 編輯

頁面報錯:
Deprecated: Array and string offset access syntax with curly braces is deprecated in/www/wwwroot/***/uc_server/admin.php on line53

出現報錯原因:

PHP7.4不再支持使用大括號訪問數組以及字符串的偏移

(, 下載次數: 77)

將53行修改為:

  1. if(method_exists($control, $method) && $a[0] != '_') {
復制代碼


即可。


作者: 專家    時間: 2020-12-11 23:54
最新版的x3.4已修復大多數花括號問題,少數位置的花括號修復時間晚于發布版時間,下一個發布版就會修好。
但需要注意的是,x3.4雖然支持php7.4,但是不支持php8,目前也沒有相關的計劃,請勿直接嘗試升級。
下一代x3.5不出意外的話有機會支持php8(但目前的測試版還不行)。
作者: allthebest    時間: 2020-12-14 02:58
專家 發表于 2020-12-11 14:54
最新版的x3.4已修復大多數花括號問題,少數位置的花括號修復時間晚于發布版時間,下一個發布版就會修好。
...

Discuz! x 3.5  要支持PHP8.0,就要停止支持其它PHP低版本才行。
作者: 專家    時間: 2020-12-16 04:23
allthebest 發表于 2020-12-14 02:58
Discuz! x 3.5  要支持PHP8.0,就要停止支持其它PHP低版本才行。

不需要的,目前x3.5的開發計劃最低兼容php 5.6。
目標是在5.6以上直到8.0的版本均不出現fatal error。
如果一切順利的話,有望在明年第一季度達成目標。
作者: allthebest    時間: 2020-12-16 18:30
專家 發表于 2020-12-15 19:23
不需要的,目前x3.5的開發計劃最低兼容php 5.6。
目標是在5.6以上直到8.0的版本均不出現fatal error。
如 ...

問題是 Discuz x 3.5 用 PHP5.6沒問題,用 PHP8.0才有問題。
作者: 專家    時間: 2020-12-16 19:03
allthebest 發表于 2020-12-16 18:30
問題是 Discuz x 3.5 用 PHP5.6沒問題,用 PHP8.0才有問題。

所以說是目標,就是目前尚未達成的意思。
現在的x3.5開發版本暫時不支持8.0。

目前相關工作已經進行到了在8.0上大體上跑起來(未合并到3.5主干),完全適配8.0還需要一段時間。
作者: allthebest    時間: 2020-12-16 19:32
本帖最后由 allthebest 于 2020-12-16 16:50 編輯
專家 發表于 2020-12-16 10:03
所以說是目標,就是目前尚未達成的意思。
現在的x3.5開發版本暫時不支持8.0。

如果只是如PHP7.4大括號問題就簡單,Discuz x 3.5 程序不用大括號就可以。

個人還沒開始研究 PHP8.0,不知結構與低版本有什么不同,難說。

最大問題是 Discuz! X 3.5還是免費,真會兼容嗎?

還有一大問題,Discuz! x 3.5開發版本暫時不支持8.0,安裝了大堆支持PHP低版本收費插件與第三方模版,收費插件與第三方模版也會免費整改嗎?

作者: 專家    時間: 2020-12-19 15:40
allthebest 發表于 2020-12-16 19:32
如果只是如PHP7.4大括號問題就簡單,Discuz x 3.5 程序不用大括號就可以。

個人還沒開始研究 PHP8.0,不 ...

PHP7.4的花括號問題確實相對來說很好處理,唯一麻煩的地方就是要找齊所有的花括號。之前總是有遺漏的。
已修復的花括號:
https://gitee.com/Discuz/DiscuzX/pulls/487
https://gitee.com/Discuz/DiscuzX/pulls/488
https://gitee.com/Discuz/DiscuzX/pulls/551
https://gitee.com/Discuz/DiscuzX/pulls/561




php8.0改動很大,很多原來能用的老辦法都失效了,因此直到目前適配工作仍未完成。
Discuz x3.5怎么說也是下一個大版本,最新的php都不支持這個確實有點說不過去,應該能做到的。

如果有意愿嘗試最新的php8.0適配的話,可以給你一份當前可以在php8.0上運行的測試版本
(目前的php8適配尚未完工,只能保證基本跑起來,如果遇到錯誤歡迎反饋)

至于模板和插件的相關問題:
x3.4的模板無法直接在x3.5上完美使用,即便用php5或者7也不行。這跟php8關系不大。x3.5的默認主題做了大量改動,x3.4主題想在x3.5上用則需要適配,否則會出現少量錯位。php8對模板的影響反而相對很小。

x3.4的插件基本上可以在x3.5上跑,此時php8可能會產生一些影響,尤其是原本開發質量較差的插件。
php8廢除的主要是php4和php5早期的一些遺留包袱,如果開發者有良好的習慣的話,適配php8應該不會太難。
作者: allthebest    時間: 2020-12-19 17:58
專家 發表于 2020-12-19 06:40
PHP7.4的花括號問題確實相對來說很好處理,唯一麻煩的地方就是要找齊所有的花括號。之前總是有遺漏的。
...

PHP7.4 問題,見到bug頁面才修改就行。

Discuz x 3.5 要時間支持 PHP8.0,但是已安裝大堆支持 DIscuz x 3.5 收費插件與模版,都會免費整改嗎?

Discuz ! X 最大問題是每一個程序都支持PHP多個版本;要支持 PHP8.0不可能。

最快是出一個程序,PHP最低要求是8.0才行。

作者: 專家    時間: 2020-12-20 18:40
allthebest 發表于 2020-12-19 17:58
PHP7.4 問題,見到bug頁面才修改就行。

Discuz x 3.5 要時間支持 PHP8.0,但是已安裝大堆支持 DIscuz x  ...

給你看看已經兼容php8.0的內測版本:
(, 下載次數: 51)
想試試么?




同時兼容低版本的php并不是問題。如果肯多花點時間,甚至能兼容php5.2。
主要是花時間做這種事情太沒意義了。

兼容5.6這件事情并不難,所以可以做。
別看5.6也是php5系列的,它的生命周期才剛結束不久,不像5.2 5.3那些老家伙都是十幾年前的東西了。
該有的功能5.6都有。
但5.3是真的不能再做兼容了,太麻煩了。

作者: allthebest    時間: 2020-12-20 20:42
專家 發表于 2020-12-20 09:40
給你看看已經兼容php8.0的內測版本:

想試試么?

我自己好久沒升級,也不用;謝謝好意!

作者: tcwgl    時間: 2021-2-6 21:03
還是謝謝你的分享




歡迎光臨 Discuz! 官方交流社區 (http://www.9999xn.com/) Powered by Discuz! W1.0