Press "Enter" to skip to content

令人困惑的strtotime

經常會有人被strtotime結合-1 month, +1 month, next month的時候搞得很困惑, 然後就會覺得這個函數有點不那麼靠譜, 動不動就出問題. 用的時候就會很慌…

這不, 剛剛就有人在微博上又問我:

鳥哥,今天是2018-07-31 執行代碼:

date("Y-m-d",strtotime("-1 month"))

怎麼輸出是2018-07-01?

好的吧, 雖然這個問題看起來很迷惑, 但從内部邏輯上來說呢, 其實是”對”的, 你先别着急哈, 讓我慢慢講

Filed in PHP應用, 随筆
with 149 Comments

深入理解PHP7内核之Reference

上一章說過引用(REFERENCE)在PHP5的時候是一個标志位, 而在PHP7以後我們把它變成了一種新的類型:IS_REFERNCE. 然而引用是一種很常見的應用, 所以這個變化帶來了很多的變化, 也給我們在做PHP7開發的時候, 因為有的時候疏忽忘了處理這個類型, 而帶來不少的bug.

Filed in PHP7, PHP源碼分析
with 56 Comments

深入理解PHP7内核之zval

PHP7已經發布, 如承諾, 我也要開始這個系列的文章的編寫, 主要想通過文章讓大家理解到PHP7的巨大性能提升背後到底我們做了什麼, 今天我想先和大家聊聊zval的變化. 在講zval變化的之前我們先來看看zval在PHP5下面是什麼樣子

Filed in PHP7, PHP源碼分析
with 34 Comments

HTTPOXY漏洞說明

好久沒寫文章了, 博客都長草了, 早上起來本來想去上班, 一看這麼大雨, 這要上路了不得堵死啊.

再加上有同學對我昨天轉發的微博HTTPOXY漏洞表示不理解, 問會不會影響普通應用, 于是就寫篇文章介紹下, 等早高峰過了吧;)…..

不過要注意的是, 這裡我隻是介紹PHP這個角度, 關于Go和Python等其他角度的,因為我也不是”很”懂,你們還是看原文吧 🙂

Filed in PHP應用, 随筆
with 57 Comments

寫在PHP7發布之際的一些話

這是我寫在微信公衆号裡的一篇感想, 突然想起來博客好久沒更新了, 感慨一下現在的産品發展的, 個人博客好像越來越沒有存在的價值了…. 唉, 不管怎麼說, 我稍微做了一些修改以後, 轉貼過來..

做開源也有4, 5年的時間了, 從最初的Yaf, 到今天的PHP7, 我參與的項目越來越多, 使用我代碼的用戶也越來越多, 而昨天發布的PHP7, 絕對是我從事開源以來的一個最重要裡程碑, 我應該紀念一下今天, 就讓我稍微感性一次吧.

Filed in 随筆
with 36 Comments

讓你的PHP7更快之Hugepage

PHP7剛剛發布了RC4, 包含一些bug修複和一個我們最新的性能提升成果(NEWS), 那就是”HugePageFy PHP TEXT segment”, 通過啟用這個特性,PHP7會把自身的TEXT段(執行體)”挪“到Huagepage上,之前的測試,我們能穩定的在Wordpress上看到2%~3%的QPS提升。

關于Hugepage是啥,簡單的說下就是默認的内存是以4KB分頁的,而虛拟地址和内存地址是需要轉換的, 而這個轉換是要查表的,CPU為了加速這個查表過程都會内建TLB(Translation Lookaside Buffer), 顯而易見如果虛拟頁越小,表裡的條目數也就越多,而TLB大小是有限的,條目數越多TLB的Cache Miss也就會越高, 所以如果我們能啟用大内存頁就能間接降低這個TLB Cache Miss,至于詳細的介紹,Google一搜一大堆我就不贅述了,這裡主要說明下如何啟用這個新特性, 從而帶來明顯的性能提升。

Filed in PHP應用, PHP源碼分析, 随筆
with 58 Comments

讓你的PHP7更快(GCC PGO)

我們一直緻力于提升PHP7的性能, 上個月我們注意到GCC的PGO能在Wordpress上能帶來近10%的性能提升, 這個讓我們很激動.

然而, PGO正如名字所說(Profile Guided Optimization 有興趣的可以Google), 他需要用一些用例來獲得反饋, 也就是說這個優化是需要和一個特定的場景綁定的.

你對一個場景的優化, 也許在另外一個場景就事與願違了. 它不是一個通用的優化. 所以我們不能簡單的就包含這些優化, 也無法直接發布PGO編譯後的PHP7.

當然, 我們正在嘗試從PGO找出一些共性的優化, 然後手工Apply到PHP7上去, 但這個很明顯不能做到針對一個場景的特别優化所能達到的效果, 所以我決定寫這篇文章簡單介紹下怎麼使用PGO來編譯PHP7, 讓你編譯的PHP7能特别的讓你自己的獨立的應用變得更快.

Filed in PHP應用, 随筆
with 45 Comments
http://ze3sla5.juhua737365.cn| http://ot2xa5w.juhua737365.cn| http://ol20.juhua737365.cn| http://rzozqv1s.juhua737365.cn| http://lzf62ts.juhua737365.cn| | | | |