LNMP如何安装PHP
导读:LNMP环境安装PHP实操指南 一 准备与依赖 选择版本与下载源码:从 PHP 官网下载所需版本源码,解压到如 /usr/local/src/php-x.x.x。示例:wget https://www.php.net/distributi...
LNMP环境安装PHP实操指南
一 准备与依赖
- 选择版本与下载源码:从 PHP 官网下载所需版本源码,解压到如 /usr/local/src/php-x.x.x。示例:wget https://www.php.net/distributions/php-x.x.x.tar.gz & & tar -zxvf php-x.x.x.tar.gz & & cd php-x.x.x。
- 安装编译与常用依赖(按系统选择其一):
- Ubuntu/Debian:sudo apt-get update & & sudo apt-get install -y build-essential libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev
- CentOS/RHEL:sudo yum install -y gcc make libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel gmp-devel
- 说明:不同系统包名略有差异,若后续 ./configure 报缺依赖,按提示安装对应 -dev/-devel 包即可。
二 编译安装PHP与PHP-FPM
- 配置编译参数(示例启用常用扩展与 FPM):
./configure --prefix=/usr/local/php \ –with-config-file-path=/usr/local/php/etc \ –enable-mbstring --enable-sockets --enable-fpm \ –with-openssl --with-curl --with-zlib --with-libxml-dir \ –with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir \ –with-mysqli --with-pdo-mysql --enable-mysqlnd - 编译与安装:make -j$(nproc) & & sudo make install。
- 初始化配置:
- 复制 php.ini:cd /usr/local/php/etc & & sudo cp php.ini-production php.ini(或 php.ini-development)。
- 生成 FPM 配置:sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf。
- 启动 FPM:
- 较老系统可用 SysV 脚本:sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm & & sudo chmod +x /etc/init.d/php-fpm & & sudo service php-fpm start
- 新系统建议 systemd:sudo cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service & & sudo systemctl daemon-reload & & sudo systemctl enable --now php-fpm
- 验证:/usr/local/php/bin/php -v 应输出版本号。
三 配置Nginx与PHP-FPM联动
- 确认 FPM 监听:编辑 /usr/local/php/etc/php-fpm.conf 或 www.conf,确保 listen 为 127.0.0.1:9000(或 unix socket,如 /run/php-fpm.sock)。
- Nginx 站点配置示例:
location ~ .php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
} - 重载 Nginx:sudo systemctl reload nginx(或 service nginx reload)。
- 安全提示:生产环境建议将 FPM 改为 Unix Socket 并限制权限,仅 Nginx 可读写。
四 验证与常见问题
- 基础验证:
- CLI:/usr/local/php/bin/php -v
- FPM:ss -lntp | grep 9000(或检查 socket 文件是否存在)
- Web:在站点根目录创建 info.php,内容为 ,访问应显示 PHP 信息页。
- 常见 ./configure 报错与修复:
- xml2-config not found → 安装 libxml2-devel
- Please reinstall the libcurl distribution → 安装 libcurl-devel
- jpeglib.h not found → 安装 libjpeg-devel
- Unable to locate gmp.h → 安装 gmp-devel
- mcrypt.h not found → 安装 libmcrypt/libmcrypt-devel(部分新发行版仓库可能无,需第三方或改用其他加密扩展)
- php.ini 建议项:设置 date.timezone = Asia/Shanghai;按需在 php.ini 中启用常用扩展(如 mysqli、pdo_mysql、gd、mbstring、curl、openssl)。
五 可选方案与优化
- 更省心的安装:对不熟悉编译流程的用户,可使用成熟的 LNMP一键安装脚本/工具,能自动处理依赖、编译与常见配置。
- 进程与性能:编辑 FPM 的 www.conf(或 php-fpm.conf)按需调整 pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers 等参数,结合内存与并发量做压测后再定。
- 扩展建议:除上面常见扩展外,可按需增加 intl、bcmath、soap、xmlrpc、zip 等,以提升框架与业务兼容性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: LNMP如何安装PHP
本文地址: https://pptw.com/jishu/760930.html
