每日一句 ( 2024713 )  

If I have seen further, it is by standing on the shoulders of giants.

如果我看得更遠,那是因為我站在巨人的肩膀上。———— Isaac Newton

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

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

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

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

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

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

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

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

使用xdebug+webgrind分析php性能

xdebug是php的一個(gè)調試工具擴展,webgrind是一個(gè)通過(guò)web可視化方式來(lái)查看xdebug日志的工具,兩個(gè)加起來(lái),對于查找PHP整個(gè)系統中的性能瓶頸非常有用。安裝xdebug:https://xdebug.org/download.php 根據自己php版本選擇和下載對應的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調試遠程環(huán)境(虛擬機)上的PHP代碼

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

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

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