linux虚拟机如何搭建php

来源:站长平台作者:南京SEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《linux虚拟机如何搭建php》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《linux虚拟机如何搭建php》有用,将其分享出去将是对创作者最好的鼓励。

在linux虚拟机中搭建php环境是开发php项目的基础操作,整个过程需要结合系统环境、依赖组件和php自身配置逐步完成,确保环境稳定运行。

linux虚拟机如何搭建php

前期环境准备

首先需要确认linux虚拟机的系统版本,本文以CentOS 7系统为例进行演示,其他linux发行版操作逻辑类似,仅包管理命令存在差异。同时需要保证虚拟机已经可以正常联网,能够使用yum或者apt等包管理工具安装依赖。

搭建php之前建议先安装基础的编译工具和系统依赖,避免后续编译php时出现缺失依赖的错误,执行以下命令安装基础依赖:

# 安装编译工具和基础依赖
yum install -y gcc gcc-c++ make autoconf wget
# 安装php运行需要的依赖库
yum install -y libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel

下载并编译安装php

接下来需要获取php的源码包,建议选择稳定的长期支持版本,这里以php 8.1为例,执行以下命令下载并解压源码:

# 下载php 8.1源码包
wget https://www.php.net/distributions/php-8.1.22.tar.gz
# 解压源码包
tar -zxvf php-8.1.22.tar.gz
# 进入解压后的目录
cd php-8.1.22

解压完成后需要进行配置编译参数,根据需求开启对应的功能模块,基础配置命令如下:

./configure 
--prefix=/usr/local/php 
--with-config-file-path=/usr/local/php/etc 
--enable-fpm 
--with-openssl 
--with-curl 
--with-gd 
--with-jpeg 
--with-png 
--with-freetype 
--enable-mysqlnd 
--with-mysqli 
--with-pdo-mysql

配置完成后执行编译和安装命令,编译过程会根据服务器配置耗时几分钟到十几分钟不等:

# 编译,-j参数可以指定并行编译的线程数,加快编译速度
make -j4
# 安装
make install

配置php和php-fpm

安装完成后需要复制默认的配置文件到指定目录,首先复制php的配置文件:

# 复制php.ini默认配置
cp php.ini-production /usr/local/php/etc/php.ini

接下来配置php-fpm,php-fpm是php的进程管理器,用于和nginx、apache等web服务器配合处理php请求:

# 复制php-fpm默认配置
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

可以修改www.conf配置文件调整php-fpm的运行用户和用户组,避免权限问题,找到以下配置项修改:

; 修改前
user = nobody
group = nobody
; 修改后,根据实际web服务器用户调整,比如nginx默认用户是nginx
user = nginx
group = nginx

启动php-fpm并验证

配置完成后可以启动php-fpm服务,首先添加php-fpm的系统服务配置,方便后续管理:

# 复制php-fpm服务文件到系统服务目录
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
# 重新加载系统服务
systemctl daemon-reload
# 启动php-fpm
systemctl start php-fpm
# 设置开机自启
systemctl enable php-fpm
# 查看php-fpm运行状态
systemctl status php-fpm

启动成功后可以验证php是否安装正常,执行以下命令查看php版本:

/usr/local/php/bin/php -v

如果输出php的版本信息,说明php核心安装成功。如果需要配合web服务器使用,还需要配置nginx或者apache将php请求转发给php-fpm处理,以nginx为例,在nginx配置文件中添加以下配置:

location ~ .php$ {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

之后在nginx的网站根目录创建index.php文件,内容如下:

<?php
phpinfo();
?>

访问该文件如果能够看到php的信息页面,说明整个php环境搭建完成,可以正常处理php请求。

常见问题解决

  • 编译时提示缺失依赖:根据错误提示安装对应的devel包即可,比如提示libxml2缺失就安装libxml2-devel
  • php-fpm启动失败:查看/usr/local/php/var/log/php-fpm.log日志文件,根据错误信息调整配置
  • web服务器访问php文件返回空白:检查php-fpm是否正常运行,以及nginx的fastcgi_pass配置是否和php-fpm的监听地址一致

Linux虚拟机PHP搭建LAMP环境php-fpm修改时间:2026-06-17 18:48:35

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。