在linux系统中安装php7是搭建web服务环境的基础操作,不同的linux发行版和安装需求对应不同的安装方式,常见的有两种:使用系统自带的包管理器安装,或者从php官方源码编译安装。前者操作简单适合快速部署,后者可以自定义功能模块适合有特殊需求的场景。

使用包管理器安装php7
Ubuntu/Debian系统安装步骤
Ubuntu和Debian系统默认的基础软件源中可能没有php7的包,需要先添加对应的软件源,再执行安装命令。
# 安装软件源管理工具 sudo apt-get install software-properties-common # 添加php7的软件源 sudo add-apt-repository ppa:ondrej/php # 更新软件源索引 sudo apt-get update # 安装php7.4及常用扩展,可根据需求调整版本和扩展 sudo apt-get install php7.4 php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip
CentOS/RHEL系统安装步骤
CentOS系统需要先安装epel源和remi源,再启用对应的php7仓库完成安装。
# 安装epel源 sudo yum install epel-release # 安装remi源 sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm # 启用php7.4的仓库 sudo yum-config-manager --enable remi-php74 # 安装php7.4及常用扩展 sudo yum install php php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
从源码编译安装php7
如果需要自定义php的功能模块,或者系统包管理器没有对应版本的包,可以选择源码编译安装,这里以php7.4.33版本为例。
安装编译依赖
编译php需要提前安装相关的依赖库,不同系统的依赖安装命令如下。
# Ubuntu/Debian系统安装依赖 sudo apt-get install -y gcc make autoconf libc-dev pkg-config libxml2-dev libsqlite3-dev libssl-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype6-dev libzip-dev # CentOS/RHEL系统安装依赖 sudo yum install -y gcc make autoconf libxml2-devel sqlite-devel openssl-devel libcurl-devel libpng-devel libjpeg-devel freetype-devel libzip-devel
下载并编译php源码
从php官方站点下载对应版本的源码包,解压后配置编译参数,再执行编译和安装。
# 下载php7.4.33源码包 wget https://www.php.net/distributions/php-7.4.33.tar.gz # 解压源码包 tar -zxvf php-7.4.33.tar.gz # 进入解压后的目录 cd php-7.4.33 # 配置编译参数,--prefix指定安装目录,--enable-fpm开启fpm支持,可根据需求添加更多扩展参数 ./configure --prefix=/usr/local/php7 --enable-fpm --with-mysql --with-mysqli --with-pdo-mysql --with-curl --with-gd --with-zip --with-openssl --enable-mbstring --enable-xml # 编译,-j参数指定并行编译的线程数,可根据CPU核心数调整 make -j4 # 安装 sudo make install
配置php环境
安装完成后需要复制默认的配置文件,设置php-fpm的服务配置,方便后续管理。
# 复制php配置文件 sudo cp php.ini-production /usr/local/php7/lib/php.ini # 复制php-fpm配置文件 sudo cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf # 将php加入系统环境变量 echo 'export PATH=$PATH:/usr/local/php7/bin' >> ~/.bashrc source ~/.bashrc
安装验证
安装完成后可以通过命令验证php是否安装成功,以及版本是否正确。
# 查看php版本 php -v # 查看已安装的扩展 php -m # 如果是编译安装的php-fpm,可以启动服务验证 /usr/local/php7/sbin/php-fpm # 查看php-fpm进程是否运行 ps aux | grep php-fpm
常见问题解决
- 安装时提示依赖缺失:根据报错信息安装对应的依赖库即可,一般是缺少某个开发包。
- php-fpm启动失败:检查
www.conf中的用户和用户组配置,确保和web服务器(如nginx)的运行用户一致。 - 包管理器安装后找不到php命令:检查环境变量是否配置正确,或者重新登录终端让环境变量生效。