### php 安裝可分為兩種方式
1. 源碼安裝(下載php源碼,進行解壓,編譯,安裝)
2. 包管理器安裝(https://zhuanlan.zhihu.com/p/42402896)
##### 源碼安裝
- 先需要下載php壓縮包。可在php官網進行下載。(官網速度較慢,可以使用這個網http://mirrors.sohu.com/php/)
下載命令:wget -O php.tar.gz 'http://cn2.php.net/get/php-7.3.11.tar.gz/from/this/mirror'
- 進行解壓縮
```
// linux 命令
tar -zxvf php-7.2.2.tar.gz
```
- configure腳本
```
./configure --prefix=/usr/local/php7.3.11 --with-config-file-path=/usr/local/php7.3.11/etc --enable-fpm --with-curl --enable-zip --enable-debug
// configure命令用來生成 Makefile。為下一步的編譯做準備。你可以通過在 configure 后加上參數來對安裝進行控制
// configure腳本的執行過程也會檢查你操作系統上的軟件依賴是否滿足安裝要求,(若缺少需要的依賴包,安裝即可)
// --prefix=/usr/local/php7.3.11 編譯安裝到這個目錄下,php應用程序在這個目錄下的bin目錄下, php-fpm的應用程序在這個目錄下的sbin目錄下
// --with-config-file-path=/usr/local/php7.3.11/etc 代表編譯安裝后,php的配置會存放在此目錄。(則省去了下面的手動復制)
```
- make 命令進行編譯
```
// 當有了一個`Makefile`文件時, 你就可以接下去執行`make`命令(該命令由你所使用的編譯器提供)
make
```
- make install
```
make install
// 這個命令會將make編譯出來的一些文件,復制到 ./configure --prefix時,指定的目錄中。則此時就完成了編譯安裝。
```
- 復制配置文件(php.ini, php-fpm.conf, www.conf)
```
// php.ini,編譯配置時配在php7/etc目錄下
$cp php-7.2.2/php.ini-development ../etc/php.ini
// php-fpm.conf
$cp ../etc/php-fpm.conf.default ../etc/php-fpm.conf
// www.conf
$cp ../etc/php-fpm.d/www.conf.default ../etc/php-fpm.d/www.conf
```
- 最后在設置php的環境變量
### php的卸載(Ubuntu)
```
1.刪除php的相關包及配置
sudo apt-get autoremove php7*
2.刪除關聯
sudo find /etc -name "*php*" |xargs rm -rf
3.清除dept列表
sudo apt purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
4.檢查是否卸載干凈(無返回就是卸載完成)
dpkg -l | grep php7.0
```
### 安裝擴展
- https://my.oschina.net/renchen/blog/1603157
- 隨源碼包下載的擴展目錄. php源碼下載后,里面也附帶了一些特定的擴展,若后期需要安裝時不需要重新下載(/php7.3.11/ext)
- php源碼編譯是按照的擴展目錄。在php源碼編譯的時候,可以指定編譯安裝一些擴展,安裝好后的擴展目錄(/usr/local/php/include/php/ext)
- 擴展編譯安裝的目錄。通過編譯安裝擴展的方式,擴展的位置(/usr/local/php7.3.11/lib/php/extensions/no-debug-non-zts-20180731
)
> 源碼編譯安裝
1. 在php官方擴展的網站下搜素相關的擴展,注意對應的php的版本(http://pecl.php.net)
2. 有的擴展,在php源碼下載時候,就已經有了,這就省略下載,解壓的步驟了。這里以openssl擴展為例。
3. openssl 擴展在php源碼包中已經下載,才換到openssl 目錄。
4. 執行/usr/local/php/bin/phpize。用于生成./configure文件,(注意這里執行命令可能不能直接生成configure文件,需要先執行`cp config0.m4 config.m4`, 在安裝autoconf `apt-get install autoconf`)
5. 執行./configure ` ./configure --with-openssl --with-php-config=/usr/local/php7.3.11/bin/php-config`。(注意,在安裝是會出現報錯情況,一般會有兩種情況,一種是沒有安裝 openssl,另一種是安裝了找不到libssl.so 文件。情況1:`sudo apt-get install openssl`.情況2:找到文件并重新連接`find / -name libssl.so`, `ln -s /usr/lib/x86\_64-linux-gnu/libssl.so /usr/lib`)
6. 在進行make && make install
7. 設置配置文件 extendsion=openssl.so,并重啟php-fpm
> pecl 安裝
1.
- linux 基礎
- ln 鏈接
- linux 環境變量
- linux 進程查看
- nginx
- redis
- redis 安裝
- php 底層原理
- php源碼編譯安裝
- phpize文件
- php命令行
- php7 新特性
- php7 變量
- php7 生命周期
- php sapi運行模式
- php 內存管理
- php 運行機制和Zend虛擬機
- php垃圾回收
- php 基礎
- php.ini
- php函數
- 面向對象
- php 文件上傳
- ob緩沖和頁面靜態化
- php中的session
- php cURL擴展
- composer 應用
- php 錯誤和異常
- thinkphp
- tp6容器和依賴注入
- tp6 的服務
- tp6事件
- tp6 多應用
- tp6路由
- tp6 cache
- tp6 request
- tp6 中間件
- tp6 response
- tp6 Db
- 備忘錄
- 數據庫表