[請益] CentOS 和 Docker 7.2.5 版本差異 &__get
問題是這樣的
我使用 Docker php:apache 7.2.5 在本機上開發,沒有問題
但在 CentOS 7 上安裝 PHP 7.2.5 卻出現了
Indirect modification of overloaded property 錯誤
這個錯誤在 Stack Overflow 上有解法 https://reurl.cc/lKXq
就是在 magic method __get 前加上 & 變成 &__get 解決
但仍然不解的是到底哪裡造成的差異,讓 CentOS 上會出錯 Docker 卻不會
事實上也有人回應,在 codepad 上也不會看到錯誤
求解,感謝
@JustGame
CentOS 的 php.ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
Docker 的 php.ini
error_reporting 無值(no value)
display_errors = Off
感謝,一語驚醒夢中人
我去查了 PHP 官方文件,當 error_reporting 無值的時候預設值是
E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
所以把 CentOS 的 PHP 改成 E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
結果就一致了,但忽略 Notice 好像不是個好習慣,我會再想辦法解決
@shvanta
回傳的確是包著 Object 的 Array 沒錯,我的確也是期望它能修改原本的 Object 內容
理論上它應該只改到複本不應影響本體(正確的名詞應該是什麼...)
但實際上,它雖然有跳 Notice 但還是改了本體的內容了!!!
這算是 bug 嗎?還是有哪裡誤會了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.99.231
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1527000707.A.21F.html
→
05/23 00:26,
6年前
, 1F
05/23 00:26, 1F
※ 編輯: nidgetgod (220.133.99.231), 05/23/2018 23:11:10
→
05/24 00:24,
6年前
, 2F
05/24 00:24, 2F
→
05/24 11:43,
6年前
, 3F
05/24 11:43, 3F
→
05/24 11:44,
6年前
, 4F
05/24 11:44, 4F
→
05/24 11:44,
6年前
, 5F
05/24 11:44, 5F
→
05/24 11:45,
6年前
, 6F
05/24 11:45, 6F
→
05/24 11:45,
6年前
, 7F
05/24 11:45, 7F
→
05/24 11:46,
6年前
, 8F
05/24 11:46, 8F
→
05/24 11:46,
6年前
, 9F
05/24 11:46, 9F
→
05/24 11:47,
6年前
, 10F
05/24 11:47, 10F
→
05/24 11:48,
6年前
, 11F
05/24 11:48, 11F
→
05/24 11:51,
6年前
, 12F
05/24 11:51, 12F
※ 編輯: nidgetgod (220.133.115.251), 05/24/2018 16:52:03
→
05/24 22:15,
6年前
, 13F
05/24 22:15, 13F
→
05/24 22:17,
6年前
, 14F
05/24 22:17, 14F
→
05/26 00:10,
6年前
, 15F
05/26 00:10, 15F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章