每日一句 ( 20241222 )  

Rivers know this: there is no hurry. We shall get there some day.

河流知道這一點(diǎn):無(wú)需匆忙。我們終有一日會(huì)到達(dá)。———— A. A. Milne

PHP在Windows環(huán)境下獲取GMT時(shí)間

在調(diào)用訊飛語(yǔ)音合成(流式版)接口時(shí),它要求傳入date參數(shù)為GMT時(shí)間,類(lèi)似這樣“Thu, 01 Aug 2019 01:53:21 GMT”。使用它默認(rèn)的demo測(cè)試時(shí),發(fā)現(xiàn)一直提示401 Unauthorized錯(cuò)誤,官方說(shuō)明是認(rèn)證簽名錯(cuò)誤。官方提供的PHP版demo中,其中獲取GMT時(shí)間是這樣的:$date = gmstrftime("%a, %d %b %Y %T %Z", time());一步步的檢查發(fā)現(xiàn)簽名串中的date是空值,但看上去代碼并沒(méi)有錯(cuò)誤,單獨(dú)...

LNMP單機(jī)高并發(fā)的簡(jiǎn)單優(yōu)化

小項(xiàng)目使用單臺(tái)機(jī)器,2核4G,使用CentOS+Nginx+MySQL+PHP環(huán)境搭建的搶購(gòu)活動(dòng)。前臺(tái)Vue+Laravel框架提供API及后管,使用Redis防止超售問(wèn)題。優(yōu)化前使用默認(rèn)的lnmp配置,活動(dòng)開(kāi)始后基本卡死,php-fpm日志記錄到線程數(shù)量不夠、CPU占用90%以上。慢日志中發(fā)現(xiàn)laravel include過(guò)多文件導(dǎo)致磁盤(pán)IO過(guò)高,網(wǎng)站請(qǐng)求變慢,進(jìn)而導(dǎo)致nginx日志中過(guò)多的499狀態(tài)碼(客戶端主動(dòng)關(guān)閉),用戶體驗(yàn)效果很差...

php hexdec超大數(shù)值的16進(jìn)制轉(zhuǎn)10進(jìn)制

使用php內(nèi)置的hexdec函數(shù)在把超大的十六進(jìn)制轉(zhuǎn)換到十進(jìn)制整型表示時(shí),結(jié)果值如果超出平臺(tái)整型的最大值時(shí),可能會(huì)丟失精度,比如 0xFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF 在Python中,使用int(‘FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF’, 16)計(jì)算結(jié)果是1157920892103562487564203452140208927662503539...

Docker搜索或拉取鏡像時(shí)提示timeout

【更新】推薦直接在物理主機(jī)的config.json文件進(jìn)行配置,因?yàn)榘l(fā)現(xiàn)下面的方式修改/etc/resolv.conf后,重啟docker時(shí)會(huì)失效。配置文件默認(rèn)在C:\Users\你的用戶名\.docker\machine\machines\default內(nèi)。編輯其中的HostOptions>EngineOptions>Dns項(xiàng),比如修改成:{ "HostOptions": { "Driver": "", "Memory": 0, "Disk": 0, "EngineOptions"...

使用xdebug+webgrind分析php性能

xdebug是php的一個(gè)調(diào)試工具擴(kuò)展,webgrind是一個(gè)通過(guò)web可視化方式來(lái)查看xdebug日志的工具,兩個(gè)加起來(lái),對(duì)于查找PHP整個(gè)系統(tǒng)中的性能瓶頸非常有用。安裝xdebug:https://xdebug.org/download.php 根據(jù)自己php版本選擇和下載對(duì)應(yīng)的xdebug# wget http://xdebug.org/files/xdebug-2.4.1.tgz# tar zxf xdebug-2.4.1.tgz# cd xdebug-2.4.1開(kāi)始編譯xdebug.so文件,注意自己phpize和php-config...

vscode+XDebug調(diào)試遠(yuǎn)程環(huán)境(虛擬機(jī))上的PHP代碼

對(duì)于簡(jiǎn)單的項(xiàng)目或僅僅想知道某一位置的某個(gè)變量是什么值,直接使用var_dump配置exit來(lái)打印和中斷就可以了,方便又快捷,而對(duì)于大型項(xiàng)目的調(diào)試,或想了解某個(gè)系統(tǒng)的整個(gè)運(yùn)行過(guò)程,xdebug可能會(huì)是更好的選擇。網(wǎng)上大多數(shù)xdebug教程中的項(xiàng)目代碼和運(yùn)行環(huán)境是配置在本地,IDE也是在本地,而我所使用的環(huán)境是運(yùn)行于虛擬機(jī)中,所以xdebug配置起來(lái)稍有不同。環(huán)境介紹:本地:win7 + vscode遠(yuǎn)程:ub...

Laravel5使用qq郵箱smtp發(fā)郵件配置及測(cè)試

第一步:.env中的MAIL配置:MAIL_DRIVER=smtpMAIL_HOST=smtp.qq.comMAIL_PORT=587MAIL_USERNAME=xxxxxxxxx@qq.com #你的QQ號(hào)或QQ郵箱MAIL_PASSWORD=abcdabcdabcdabcd #授權(quán)碼MAIL_ENCRYPTION=tls16位授權(quán)碼在QQ郵箱->設(shè)置->帳號(hào)頁(yè)面中,開(kāi)啟使用smtp后可以得到。encryption默認(rèn)是null,需要設(shè)置為tls否則會(huì)報(bào)類(lèi)似“Must issue a STARTTLS command first.”這種錯(cuò)誤。第二步:config/ma...