一、获取包并解压

官网下载
www.php.net/docs.php

或者

wget https://www.php.net/distributions/php-7.4.14.tar.gz

tar -zxvf php-7.4.14.tar.gz

二、编译安装

//个人编译项
./configure --prefix=/opt/apps/php-7.4 --enable-fpm ‘–with-config-file-path=/opt/apps/php-7.4/etc’ ‘–with-config-file-scan-dir=/opt/apps/php-7.4/etc/php.d’

可选编译项
–prefix=/opt/apps/php-7.4 //指定 php 安装目录
–with-config-file-path=/opt/apps/php-7.4/etc //指定php.ini位置
–with-MySQL=/usr/local/mysql //mysql安装目录,对mysql的支持
–with-config-file-scan-dir=/opt/apps/php-7.4/etc/php.d //设置扩展ini目录,便于集中管理
–enable-safe-mode //打开安全模式
–enable-ftp //打开ftp的支持
–enable-zip //打开对zip的支持
–with-bz2 //打开对bz2文件的支持
–with-jpeg-dir //打开对jpeg图片的支持
–with-png-dir //打开对png图片的支持
–with-freetype-dir //打开对freetype字体库的支持
–without-iconv //关闭iconv函数,各种字符集间的转换
–with-libXML-dir //打开libxml2库的支持
–with-XMLrpc //打开xml-rpc的c语言
–with-zlib-dir //打开zlib库的支持
–with-gd //打开gd库的支持
–enable-gd-native-ttf //支持TrueType字符串函数库
–with-curl //打开curl浏览工具的支持
–with-curlwrappers //运用curl工具打开url流
–enable-mbstring //多字节,字符串的支持
–enable-bcmath //打开图片大小调整,用到zabbix监控的时候用到了这个模块
–enable-sockets //打开 sockets 支持
–enable-exif //图片的元数据支持
–enable-magic-quotes //魔术引用的支持
–disable-rpath //关闭额外的运行库文件
–disable-debug //关闭调试模式
–with-mime-magic=/usr/share/file/magic.mime //魔术头文件位置
–enable-fpm //打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
–enable-fastCGI //支持fastcgi方式启动PHP
–enable-force-CGI-redirect //重定向方式启动PHP
–with-mcrypt //mcrypt算法的扩展
–with-mhash //mhash算法的扩展
–with-openssl //openssl的支持,加密传输时用到的

make && make install

在etc下copy一份源码里的php.ini (php.ini-development)
在etc目录copy一份php-fpm.conf
在php-fpm.d/copy一份www.conf
ln -s /opt/apps/php-7.4/sbin/php-fpm /usr/bin/php-fpm
ln -s /opt/apps/php-7.4/bin/php /usr/local/bin/php

php-fpm 启动
ps aux | grep php 即可看到php-fpm进程的master,worker
worker数量配置在php-fpm.d/www.conf文件中

三、编译安装扩展

下载phpredis扩展
$ wget https://github.com/phpredis/phpredis/archive/3.1.5.tar.gz
$ tar -zxvf 3.1.5.tar.gz
$ /opt/apps/php-7.4/bin/phpize
$ ./configure --with-php-config=/opp/apps/php-7.4/bin/php-config
$ make && make install

会自动将so文件安装到php扩展目录

/opt/apps/php-7.4/lib/php/extensions/no-debug-non-zts-20190902/redis.so

然后根据编译时指定的--with-config-file-scan-dir配置ini加载文件,在对应的目录下创建redis.ini,并写入内容

extension=redis.so

重启php-fpm
kill -USR2 pid即可

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐