### 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
- 备忘录
- 数据库表