原创 docker 裏面安裝php擴展

進入docker 容器 docker exec -it myphp7(容器名稱) /bin/bash apt-get update apt-get install yum -y #安裝pecl wget http://pear.

原创 php版本小於 5.5的 支付寶調整

php版本小於 5.5的 支付寶調整 AopClient 搜索OPENSSL_ALGO_SHA256 替換爲 sha256WithRSAEncryption AlipayTradePagePayContentBuilder 中  $thi

原创 聊聊PHP數組底層是如何實現的

最近一直整理資料,搞的自己挺煩躁的,靜下心,寫一篇博客壓壓驚。 今天就聊聊PHP最核心的數組array; 話不多說,直接打開源碼,看看array到底是如何實現的? PHP 數組的底層實現是散列表(也叫 hashTable ),散列

原创 swoole協程(Coroutine\Channel)

swoole使用協程順序執行任務,就需要依賴Channel了。 Channel特點 與容量有關 如果channel未滿,push不阻塞,如果已滿,push讓出控制流; 如果channel爲空,pop讓出控制流。 具體例子: <?php

原创 docker的安裝以及docker中安裝nginx以及文件配置映射

對於Docker,應該不需要進行詳細的介紹了。它是最火熱的開源項目之一,通過在容器中增加一個抽象層(a layer of abstraction),就可以將應用程序部署到容器中。在看似穩定而成熟的場景下,使用Docker的好處越來越多。

原创 swoole協程

爲什麼下面的代碼不是順序執行的呢? 實際執行過程: 運行此段代碼, 系統啓動一個新進程 遇到 go(), 當前進程中生成一個協程 協程中遇到 IO阻塞 (這裏是 Co::sleep() 模擬出的 IO等待), 協程讓出控制, 進入協程

原创 docker 安裝php,nginx搭建php環境

docker pull nginx:1.17.2 docker run -it -d --name mynginx -p 8080:80 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.co

原创 docker 容器裏面無法找到vim命令

執行命令:apt-get update 然後執行:apt-get install vim 就可以正常使用vim 編輯文件了。  

原创 PHP 觀察者模式

1:觀察者模式(Observer),當一個對象狀態發生變化時,依賴它的對象全部會收到通知,並自動更新。 2:場景:一個事件發生後,要執行一連串更新操作。傳統的編程方式,就是在事件的代碼之後直接加入處理的邏輯。當更新的邏輯增多之後,代碼會

原创 PHP 裝飾器模式

裝飾器模式:如果已有對象的部分內容或功能性發生改變,但是不需要修改原始對象的結構或不使用繼承,動態的擴展一個對象的功能,則應該使用裝飾器模式。簡單點說:就是我們不應該去修改已有的類,而是通過創建另外一個裝飾器類,通過這個裝飾器類去動態的

原创 PHP 策略模式

策略模式:定義了算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。   封裝:  把行爲用接口封裝起來,我們可以把那些經常變化的部分,從當前的類中單獨取出來,用接口進行單獨的封裝。 互相替換

原创 python app自動化測試 入門篇

移動端的app自動化測試需要一定的開發基礎才能完成,首先從環境搭建會有些繁瑣,目前使用比較多的是appium配合進行自動化測試,我理解的就是appium比較小巧而能完成需求,所以比較火一些。 首先環境準備: 1.首先安裝node.js

原创 php 使用swoole多進程執行任務,避免mysql has gone away

swoole多進程處理數據速度很快,但是會遇到mysql has gone away的情況需要小心: Mysql.php: <?php class Mysql { private $host; private $u

原创 PHP源碼閱讀工具介紹(Source Insight)

Source Insight工具下載很簡單,官網下載就可以,收費的,直接百度搜索破解方法就可以搞定。 首先第一步: 點擊上方的Project,New Project, 點擊OK, 設置好源碼路徑,點擊確定就好了,記得點擊下那個P(Pr

原创 PHP代碼執行原理

//PHP代碼執行過程 //1.將PHP代碼轉換成有標識的Token,可以使用token_get_all函數來進行查看 //2.語法分析將Token和符合規則的代碼生成抽象語法樹 //3.根據抽象語法樹生成opcode,當虛擬機調