安装 PHP7.3.10及其依赖源码包 | 学习笔记

简介: 快速学习安装 PHP7.3.10及其依赖源码包

开发者学堂课程【阿里云上搭建 LAMP 环境实战:安装 PHP7.3.10及其依赖源码包】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/663/detail/11090


安装 PHP7.3.10及其依赖源码包

 

内容介绍

一. 安装 libxml2

二. 安装 libmcrypt

三. 安装 mhash

四. 安装 mcrypt

五. 安装 libpng

六. 安装 jpeg9

七. 安装 freetype

八. 安装 PHP

 

一. 安装 libxml2

php 的安装也比较复杂,他不是容易出错,虽然下载的是最新的版本,但是因为装 php 的时候,还要装很多 php 的扩展,因为有了这一扩展,  php 的功能才很强大,所以是比较麻烦的。

扩展有什么作用,回到下载软件的目录,看一下,还有很多的软件包没有解开,这些剩下的其实都和 php 相关的,第一个安装的就是 libxml2 ,在前面试验的时候已经安装过了,已经有了,就不用再去安装了。

那 the lib 用到的前面也已经装过了,也不用安装了。

#tar-xflibxml2-2.9.9.targg

#cd/root/lamp/libxml2-2.9.9

#./configure--prefix=/usr/local/libxml2/

# make

# make install

二.安装 libmcrypt

我们按照这个步骤继续,先从这个加密软件来安装,首先同样的步骤先解包。

这些软件的安装都相对比较容易,直接配置就行了,粘贴都装在固定指定它的安装目录。

比较简单,等待一下,然后直接输入 make and make install 直接编译安装一起完成,完成后没有问题可以看一下他的加目录,  usr 下边, local 下边有没有数据,有数据没问题回来,继续安装下一个软件。

#tar-xflibmcrypt-2.5.8.tar.gz

#cd/root/lamp/libmcrypt-2.5.8

#./configure--prefix=/usr/local/libmcrypt/

# make

# make install

安装libltd,也在libmcrypt源码目录中,非新软件#cd/root/lamp/libmcrypt-2.5.8/libitd

#./configure--enable-Itdl-install

# make

# make install

 

三.安装 mhash

xf mhash 解压进入到 mhash 这个目录下,然后直接不用指定目录输入 make and make install  一起安装

# tar -xfmhash-0.9.9.9.tar.gz

#cd/root/lamp/mhash-0.9.9.9

# ./configure

# make

# make install

 

四.安装 mcrypt

解压进入软件目录,需要配置一下环境变量,然后需要指定它的依赖。粘过来,前面已经安装完成,输入 make and make install 安装,安装完成没有出错误

# tar-xf mcrypt-2.6.8.tar.gz

#cd /lamp/mcrypt-2.6.8

#exportLD_LIBRARY_PATH=/usr/lccal/libmcrypt/ib:/usr/local/lib

变量: LDLIBRARYPATH 用于指定 libmcrypt 和 mhash的库的

位置  

#./configure--with-libmcrvpt-prefix=/usr/local/libmcrypt

# make

# make install

 

五. 安装 libpng

同样回到目录下解包,xf libpng 解压进入到 libpng 一定要进入到他的目录下边,然后指定他的安装位置,这些软件都不太容易出错,所以我们只要文件,名称,目录别打错就可以。输入 make and make install 安装

#tar-xf libpng-1.6.7.tar.gz

#cd/root/lamp/libpng-1.6.7

#./configure-prefix=/usr/local/libpng

# make

# make install

 

六. 安装 jpeg9

如果装 jpeg6 他的默认加目录需要一个一个指定,比较麻烦。

直接解压安装,进入目录后配置指定他的加目录,不用手动创建了,加上共享模块和静态模块这两个选项,输入 make and make install 安装,所以有一些新版本的软件还是比较容易安装的,比原来省事多了。

#tar-xfipegsrc.v9c.tar.gz

#cd/root/lamp/jpeg-9c/

#./configure--prefix=/usr/local/jpeg9/--enable-shared--enable-static

# make

# make install

-enableshared 与-enablestatic 参数分别为建立共享库和静态库使用的 libtool

 

七. 安装 freetype

同样解包,进入到目录下边,然后我们直接执行指定加目录,粘贴 ./configure--prefix=/usr/local/freetype/  这样用 PHP 处理图像就可以使用图像上面输出一些字体,输入 make and make install 安装,用 PHP 时可能会出现 PHP  freetype . H 这个头文件没有发现,解决方法是补充一个依赖包即可

#tar-xffreetype-2.10.0.targz

#cd/root/lamp/freetype-2.10.0

#./configure--prefix=/usr/local/freetype

# make

# make install

#yum install freetype-devel

PHP 会出现 Configureerror:freetypeh not found错误解决方法如下:

使用:yum installfreetype-devel 补充依赖包即可

 

八. 安装 PHP

同样的方法先解压,装的是最新版本7.3.10,进入 PHP 7.3.10目录下,这是 PHP 的源文件,要记住,后期会有一些拓展文化在源文件里直接可以去找到。同样,他的配置选项需要很多,把他粘贴过来

,/configure

-prefix=/usr/local/php/\\                  指定配策文件目录

with-config-file-path=/usr/local/php/etc/\

-with-apxs2=/usr/local/apache2/bin/apxs\   指定apache动态横块位置

-with-libxml-dir=/usr/local/libxml2/\        指定licxml位置

with-jpeg-dir=/usr/local/jpeg9/\            指定1088位置

with-png-dir=/usr/local/libpng//           指定 libong 位置

with-freetype-dir=/usr/local/freetype/\   指定 freetype.位置

with-mcrypt=/usr/local/libmcrypt/\       指定libmcrypt位置

with-gd\                                 启用gd 库

--enable-soap\                          支持soap服务(api)

enable-mbstring=all \                    支持多字节,字符串

enable-sockets                           支持套接字

-with-pdo-mysql=/usr/local/mysql\      启用 mvsol的 pdo 模块支持

with-pdo-mysgl=mysqlnd \             Mysql Native Driver 简称:mysglnd

--with-gd--without-pear         不安装 pear(Composer代替)

输入 make test 执行,一共需要测试 PHP 的13376个函数可用。再输入 make and make install 安装,出现的警告可以忽略,只要不是致命错误就行,没有提示错误,PHP 安装完成。

1.生成 PHP 配置文件

软件已经有了,那我们怎么配合使用呢?还需要配置文件,把配置文件安装时指定配置文件在 PHP 加目录下,etc 下面,到 usr , local 下面,创建一个 etc 的目录,mkdir 创建一个 etc

#mkdir/usr/local/php/etc

#cp/root/lamp/php-73.10/phpini-production/usr/local/php/etc/php.ini

在这个目录下,只要把源码包里面已经自带的一个文件拷贝过来,变成 php.ini ,就是 php 的配置文件。拷贝在 root,lamp 下边。暂时先不用修改,那 php 也不需要启动。

可以用了,在 php 的加目录下,也就是 bin 目录下,里面有这么多 PHP 可用的命令。 php ,还有 phpize ,这是后面扩展用的,这里用 php 定义就行了。

如果想要其他目录下也用这个文件,那就直接使用这个文件,把这个做到环境变量里就可以了。回到我的 root 目录下,新建一个 vi.test.php 文件,随便写一些 php 代码。比如 ls 这是一个 test 测试,回车,保存。

执行 share 脚本, share A. share. 那 php 脚本呢?

usr,local 下面的 php 加目录下有个 php 命令用它执行。输入 test.php 就执行了。

那同样,想看一下 php 默认安装了哪些模块,—m 这就是 php 现在已经安装的模块,好多模块现在都没有,那想装这些扩展模块,后期用 ppize 安装就行了,在 apache 目录下的 htducs 目录下有一个 test.php ,现在 apache 就能执行它吗?

我们在安装 php 时,已经将这个 php 的模块作为一个 apache 的模块装到了 apache 目录下 apxs 目录下,到这个目录下看看有没有这个扩展,usr 下边, local 下边, apache 下边,发现这个目录现在不存在,后期扩展再生成这个目录,现在只是指定 bin 下面的这个文件,这个文件指定他下面的这个位置。

回到 htdocs 目录下,看一下 test 文件能不能执行,usr 下边,local 下边,bin 下边的 php 执行一下 test.php ,还记得这里面的内容,查看一下。

我们写的是一个循环,输出时还有语句,那这个文件,我们现在在浏览器能不能执行,如果能,证明 php 已经挂在 apache 上了,apache 可以去解析了,刷新一下原来的 test 文件,还是没有执行,没有挂成功。那就还需要一步设置。

2. 修改 Apache 配置文件,使其识别 php 文件。并能通过 php 模块使用,php 进行页面解析

#vim/usr/local/apache2/etc/httpd.conf AddTypeapplication/x-httpd-php.php

打开 apache 配置文件,告诉 apache,.php 的用 php 去执行就可以了,搜索添加类型 addtyp, 打开 apache 配置文件,找对位置添加一条就可以了,

AddType application/x-httpd-php.php  把它粘贴过来,随便找个位置,最好和那几个放在一起,后缀凝视.php 的应用的文件 x-httpd.php 这个类型用 php 用php 解析,也可以用多个,后面是 .phtml 的,也用php 模块解析,现在我们都用统一的 .php 文件,后面文件加不加没有必要。

保存一下,apache 配置文件修改完之后必须重启 apache ,然后回到浏览器再刷新一下,页面就把 php 代码解析了,把结果返回来了,这样 apache 就挂摆成功了,通常装 php 一定要做这样一个测试,编写一个 phpinfo ,但文件名叫什么无所谓,用一下这样的函数,就不用命令行执行了,因为数字都在 tml,直接用 php ,现在执行 phpinfo ,都是页面的,格式看着也不舒服,所以还是用浏览器去解析,打开浏览器执行 phpinfo ,这个文件执行后尽量把他删掉,不然其他人也能访问这个文件,知道服务器所有的配置情况了。

能看到 php 的版本,使用的系统,构建的时间,配置的命令,配置文件的目录,使用的php 配置文件,特别是下边能看见所有配置的模块,还有所有的驱动,这个是我们检查 php 环境的最主要的文件,只是一个小函数而已。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
3月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
5月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
202 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
5月前
|
小程序 安全 关系型数据库
专业打造一款圈子源码软件系统 / 后端 PHP 搭建部署一样实现利益化
本教程详解基于PHP后端与Uni-app的小程序开发全流程,涵盖技术选型、环境搭建、源码导入、接口对接及功能实现。采用Laravel/Symfony框架,结合MySQL/PostgreSQL数据库,使用WebSocket实现实时通信,并集成IM SDK实现音视频聊天。前端使用Uni-app开发,支持跨平台运行。教程包含完整部署流程与安全优化方案,助力快速搭建高性能、安全稳定的小程序系统。
430 5
|
5月前
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
222 2
|
6月前
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
584 5
|
5月前
|
运维 安全 数据可视化
采用PHP+Vue技术架构的不良事件管理系统(源码)
本系统为医院安全(不良)事件管理工具,支持快速上报、流程化处理与多维度分析,助力识别风险、优化管理。采用PHP+Vue技术架构,功能涵盖事件上报、追踪整改、数据统计及PDCA改进等。
235 0
|
9月前
|
前端开发 算法 NoSQL
前端uin后端php社交软件源码,快速构建属于你的交友平台
这是一款功能全面的社交软件解决方案,覆盖多种场景需求。支持即时通讯(一对一聊天、群聊、文件传输、语音/视频通话)、内容动态(发布、点赞、评论)以及红包模块(接入支付宝、微信等第三方支付)。系统采用前后端分离架构,前端基于 UniApp,后端使用 PHP 框架(如 Laravel/Symfony),配合 MySQL/Redis 和自建 Socket 服务实现高效实时通信。提供用户认证(JWT 集成)、智能匹配算法等功能,助力快速上线,显著节约开发成本。
310 1
前端uin后端php社交软件源码,快速构建属于你的交友平台