PHP8、FPM及部分扩展编译安装

PHP8、FPM及部分扩展编译安装,第1张

本着能懒则懒的原则,之前我都是宝塔、lnmp脚本等“一键”

再不济也得来个 apt/yum install php

什么?源码 make install ? 编译参数一言难尽,劝退劝退...我只是想要个开发环境而已

没关系!我来整理一下常用模块以及参数!环境为 ubuntu/debian

检查压缩包的完整性,与官网 sha256比较

安装以下包

官方的拓展分类

根据需要的模块添加其后对应的参数

包含常用模块,可以直接使用

编译并安装后

复制 php.ini 到默认目录 /usr/local/lib/

检查 php安装是否正确

复制 fpm 配置文件、运行服务文件

www.conf php-fpm.conf php-fpm.service

修改 fpm 用户和组,默认为nobody

修改服务文件,取消只读 不然日志不能读写无法启动

设置自启动并运行

本地起服务测试

No package 'libxml-2.0' found

No package ‘sqlite3‘ found

configure: WARNING: unrecognized options: –with-gd

No package 'zlib' found

No package 'libpng' found

No package 'oniguruma' found

No package 'libcurl' found

No package 'libsystemd' found

No package 'openssl' found

No package 'libzip' found

当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。\x0d\x0a这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。\x0d\x0a下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)\x0d\x0a做法一:\x0d\x0a1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。\x0d\x0a$cd /home/pkgs/php-5.3.3/ext/xsl\x0d\x0a2.调用phpize程序生成编译配置文件。\x0d\x0a$/home/app/php5.3.3/bin/phpize\x0d\x0a3.编译扩展库,分别执行下面的configure和make命令。\x0d\x0a$./configure-with-php-config=/home/app/php5.3.3/bin/php-config\x0d\x0a这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。\x0d\x0a$make\x0d\x0a#make成功执行后,生成的扩展库文件在当前目录的 modules子目录下,\x0d\x0a如/home/php-5.3.3/ext/curl/modules/xsl.so\x0d\x0a4.配置php.ini文件\x0d\x0a#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。\x0d\x0a$ cp /home/pkg/php-5.3.3/ext/xsl/modules/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626\x0d\x0a#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。\x0d\x0aextension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”\x0d\x0aextension=xsl.so\x0d\x0a5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11435157.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存