Linux(CentOS7)部署PHP-7.2.17源码包

PHP-7.2.17源码包部署

  • 安装php
      • [1. 解压并进入php-7.2.17文件夹](#1. 解压并进入php-7.2.17文件夹)
      • [2. 编写php.sh脚本](#2. 编写php.sh脚本)
      • [3. 执行php.sh](#3. 执行php.sh)
  • 配置Apache与PHP
      • [1. 编写httpd.conf配置文件](#1. 编写httpd.conf配置文件)
      • [2. 编写php测试脚本](#2. 编写php测试脚本)

部署HTTPD-2.4.37源码包点击跳转
部署MySQL-5.6.31源码点击跳转

下载源码包和依赖的源码包,资源见文章顶部

把压缩包内的文件上传到服务器,这里用MobaXterm远程连接工具

安装php

1. 解压并进入php-7.2.17文件夹

bash 复制代码
tar xf php-7.2.17.tar.xz
bash 复制代码
cd ./php-7.2.17/

2. 编写php.sh脚本

bash 复制代码
vim php.sh

编写内容

bash 复制代码
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysqli \
--with-pdo-mysql \
--with-zlib \
--with-curl \
--enable-zip \
--with-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--enable-opcache \
--enable-mbstring \
--enable-mbregex \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-calendar \
--enable-bcmath

配置参数说明(默认什么功能都没有,必须通过模块的进行添加!)

--with-apxs2=/usr/local/apache2/bin/apxs
指定apxs路径,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,php7中已被废弃

--with-mysql

--with-mysqli

--with-pdo-mysql
以上三个是php的扩展,用于连接mysql数据库的

--with-iconv-dir

--with-freetype-dir

--with-jpeg-dir

--with-png-dir

--with-gd

--with-zlib

--with-libxml-dir
这些都是在启用对某种文件的支持

--with-curl 和 --with-curlwrappers
用于支持 curl 函数,此函数允许你用不同的协议连接和沟通不同的服务器

--with-openssl,--with-mhash,--with-mcrypt
这都是和加密有关的参数,启用它们是为了让php可以更好的支持各种加密

--enable-bcmath 高精度数学运算组件

--enable-shmop和 --enable-sysvsem
使得你的PHP系统可以处理相关的IPC函数.IPC是一个Unix标准通讯机制,它提供了使得在同一台主机不同进程之间可以互相通讯的方法

--enable-inline-optimization 栈堆指针和优化线程

--enable-pcntl 多线程优化

3. 执行php.sh

php.sh文件添加x执行权限

bash 复制代码
chmod +x php.sh

安装php依赖

bash 复制代码
yum install -y libxml2-devel libjpeg-devel libpng-devel freetype-devel

运行php.sh文件

bash 复制代码
./php.sh

进行编译安装

bash 复制代码
make && make install

查看php版本号,看是否安装成功

bash 复制代码
php -v

配置Apache与PHP

1. 编写httpd.conf配置文件

vim /usr/local/apache2/conf/httpd.conf

  1. 开启apache对PHP的支持
    开启166行的注释,在下面编写内容
bash 复制代码
166 LoadModule php7_module modules/libphp7.so #解开注释
167 AddHandler php7-script .php #编写的内容
168 AddType text/html .php #编写的内容
  1. 添加index.php默认首页
bash 复制代码
267 <IfModule dir_module>
268     DirectoryIndex index.php index.html
269 </IfModule>

2. 编写php测试脚本

bash 复制代码
cd /usr/local/apache2/htdocs	# htdocs就是apache的默认项目目录
rm -f index.html
vim index.php

index.php的内容

php 复制代码
<?php
	phpinfo();
?>

重启Apache软件

bash 复制代码
cd /usr/local/apache2
bin/apachectl -k restart

访问IP地址,看是否成功,看到下图表示成功

相关推荐
奈斯先生Vector8 分钟前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
乌萨奇也要立志学C++9 分钟前
【Linux】网络基础 从零理解网络通信:局域网、跨网传输与 Socket 预备知识
linux·服务器·网络
漏刻有时12 分钟前
PHP GeoJSON转PNG地图渲染程序开发笔记、源码解读、问题复盘与整改方案
android·笔记·php
DLYSB_1 小时前
AIOps 大模型实战:基于 LangChain 运维 Agent 的根因诊断与现场声光播报闭环
运维·langchain·报警灯
always_TT2 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
RisunJan2 小时前
Linux命令-slabtop(实时显示内核 slab 缓存信息)
linux
一可米3 小时前
gitHub.com Actions自动化发布
运维·自动化·github
智塑未来4 小时前
证券公司智能运维平台哪个品牌做得好?擎创科技智能运维 2.0 适配券商全场景
运维·科技·区块链
蚰蜒螟4 小时前
从内核源码看Linux启动:chroot、execve与MS_MOVE的协奏曲
linux·服务器·网络
酷可达拉斯5 小时前
自动化运维-ansible配置文件与主机清单
linux·运维·自动化·ansible