版本—7.2/系统centos7or8
进入下载目录,tar -xzvf php-7.2.32.tar.gz 解压文件
cd 进入解压后的文件夹
./configure 命令检测
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc #参数指定安装目录和指定php.ini的加载路径
--enable-fpm --with-fpm-user=www --with-fpm-group=www #开启fpm进程管理启动和指定fpm进程管理的用户/用户组
--enable-inline-optimization --disable-debug --disable-rpath --enable-shared #优化线程^关闭编译调试^关闭额外运行库文件^链接成共享对象
--enable-shmop --enable-sysvsem --enable-sysvmsg --enable-sysvshm #前两个是进程通信相关函数,进程消息队列和进程共享内存
--enable-pdo --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-mysqlnd-compression-support #mysql数据库相关
--with-openssl --enable-bcmath --enable-calendar --enable-mbstring #openssl的支持^开启bc函数库^日历扩展^多字节字符串支持
--enable-zip --with-zlib --with-zlib-dir --with-bz2 --with-iconv #开启zip库^开启zlib库^bz2文件支持^字符集转换库
--with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir #开启gd库相关
--with-curl --enable-sockets --with-mhash --with-mcrypt#curl功能^socket支持^mhash和mcrypt算法的扩展
--enable-mbregex --with-readline #正则相关^命令行的扩展
[以上参数建议开启,以下按需要加]
--enable-exif #Exif就是在JPEG格式头部插入了数码照片的信息,开启读取这些数据的函数扩展
--with-xmlrpc #开启编写XM L-RPC服务端和客户端的函数支持
--enable-soap #开启soap扩展[简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息]
缺依赖问题
bzip2 解压用的 【yum install bzip2】【 yum install bzip2-devel】
C编译器gcc【yum -y install gcc】
libxml2 【yum install libxml2】【yum install libxml2-devel】
openssl 【yum install openssl】【yum install openssl-devel】
精简版的centos会缺libcurl 【yum install libcurl-devel】
readline 【yum -y install readline-devel】
oniguruma
【yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-5.9.5-3.el7.x86_64.rpm】
【yum install https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-devel-5.9.5-3.el7.x86_64.rpm】
gd库 【yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel】
通过后执行make,再make install,安装完成
根据编译时设定的php.ini的加载路径,在php安装目录会有生成php.ini.~ 类型的文件,复制该文件并改名为php.ini移到配置加载目录
centos在 ~/ 用户根目录会有 .bash_profile文件,使用vi编辑,加一行 【PATH=$PATH:/usr/local/php/bin】里面地址根据实际情况写,为php的bin目录,运行命令【source ~/.bash_profile】使配置生效,即可使用php命令行
php -v 查看版本
php -m 查看已有扩展
php --ini 查看配置
完结撒花~