### phpize
phpize用于安裝擴展模塊,作用在于偵測環境,生成configure文件
### --with-php-config
用法: --with-php-config=/path/to/php-config (php-config一般放在安裝目錄bin下)
php-config用于獲取PHP安裝信息,如安裝路徑,版本,依賴,編譯參數(執行./configure時帶的參數)等等,它提供給configure.in信息,用于生成makefile
### --enable-fpm
啟用sapi的fpm
### --with和--enable的區別
- --enable表示是否開啟內置的擴展
- --with表示是否添加某個功能,一般需要指定依賴的外部庫
### 配置文件
cp /opt/php7/etc/php-fpm.d/www.conf.default /opt/php7/etc/php-fpm.d/www.conf
cp /opt/php7/etc/php-fpm.conf.default /opt/php7/etc/php-fpm.conf
cp /data/php7.2.10/php.ini-development /opt/php7/lib/php.ini
### 編譯安裝php
```bash
#!/usr/bin/env bash
install_dir = '/home'
echo "開始安裝php"
cd ${install_dir}
wget http://am1.php.net/distributions/php-7.2.10.tar.gz
tar zxvf php-7.2.10.tar.gz
cd php-7.2.10
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir="/usr/local/php/etc/conf.d" \
--with-mcrypt \
--with-mhash \
--enable-ftp \
--enable-mbstring \
--enable-mysqlnd \
--with-curl \
--with-libedit \
--with-openssl \
--with-zlib
make && make install
rm -rf php7.2.10.tar.gz
echo "已完成php"
```
### 編譯安裝擴展
```bash
#!/usr/bin/env bash
install_dir = '/home'
echo "開始安裝swoole"
cd ${install_dir}
curl -Ls -o swoole-src-4.0.3.tar.gz https://github.com/swoole/swoole-src/archive/v4.0.3.tar.gz
tar -zxvf swoole-src-4.0.3.tar.gz
cd swoole-src-4.0.3
usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl
make
make install
rm -rf swoole-src-4.0.3.tar.gz
echo "已完成swoole"
```
### 編譯工具

### 啟動內置web服務
```bash
php -S 127.0.0.1:端口 -t 網站根目錄
```
- php
- 編譯安裝
- 基本概念
- 垃圾回收機制
- 生命周期
- zval底層實現
- c擴展開發
- gdb調試工具
- 自定義擴展簡單demo
- 鉤子函數
- 讀取php.ini配置
- 數組
- 函數
- 類
- yaf擴展底層源碼
- swoole擴展底層源碼
- memoryGlobal內存池
- swoole協程使用記錄
- 單點登錄sso原理
- compser使用
- session實現機制
- c & linux
- gcc
- 指針
- 結構體,聯合和位字段
- 宏定義井號說明
- printf家族函數和可變參數
- 共享函數
- 靜態庫和動態庫
- makefile自動化構建
- 信號一
- 信號二
- inotify監控文件事件
- socket編程
- 簡介
- UNIX DOMAIN
- Internet DOMAIN
- TCP/IP
- 文件IO多路復用
- 內存管理
- 進程組,會話和控制終端
- daemon守護進程
- 多進程
- 多線程
- 常用進制轉換
- go
- 入門知識
- 字節和整數裝換
- python
- redis
- 應用場景
- 消息隊列
- 熱點數據
- 掃碼登錄
- 訂閱發布
- 次數限制
- 搶購超賣
- 持久化機制
- mysql
- 工作流程
- MyISAM和InnoDB區別
- 用戶和權限管理
- 執行計劃
- sql優化
- 事務和鎖
- 慢查詢日志
- case...when...then...end用法
- sql
- 參考
- linux
- 內核參數優化
- 防火墻設置
- docker
- docker入門知識
- 算法
- 多維數組合
- DFA算法
- 紅包金額分配