17.12 Linux PHP安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 关于PHP 的版本,目前大多数企业都会使用 5.4 及更高版本,甚至越来越多的企业使用 PHP 7 版本,要知道,这两个版本还是有很大差异的,PHP 7 有很大的性能提升。

关于PHP 的版本,目前大多数企业都会使用 5.4 及更高版本,甚至越来越多的企业使用 PHP 7 版本,要知道,这两个版本还是有很大差异的,PHP 7 有很大的性能提升。

虽然“新事物取代旧事物”是必然趋势,但就目前来说,PHP 7 版本还是太新了,很多企业的网站不一定兼容。因此,本节安装的 PHP 版本为 5.4。接下来,就一起来学习如何在 Linux 系统中安装 PHP 源码包,具体步骤如下。

1) 安装libtool和libtool-ltdl

[root@localhost mysql]# yum -y install "libtool*"
[root@localhost mysql]# yum -y install "libtool-ltdl*"

2) 手工修改gd库文件

PHP 5.4 也有一些 Bug,在检测 gd 库时会报错,需要我们手工修改。命令如下:

[root@localhost mysql]# vi /usr/local/gd2/include/gd_io.h
\#修改gd_io.h头文件
typedef struct gdIOCtx
{
  …
  void (*data);
  \#在此程序段中加入此句
}

3) 编译安装 PHP 源码包

命令如下:

[root@localhost mysql]# cd /usr/local/src/ php-5.4.25
[root@localhost php-5.4.25]# ./configure \ #编译前配置
--prefix=/usr/local/php/ \ #指定安装位置
--with-config-file-path=/usr/local/php/etc/ \ #指定PHP配置文件位置
--with-apxs2=/usr/local/apache2/bin/apxs \ #调用apache2
--with-mysql=/usr/local/mysql/ \ #调用mysql
--with-libxml-dir=/usr/local/libxml2/ \ #调用libxml2库
--with-jpeg-dir=/usr/local/jpeg6/ \ #调用jpeg库
--with-png-dir=/usr/local/libpng/ \ #调用libpng库
--with-freetype-dir=/usr/local/freetype/ \ #调用freetype库
--with-gd=/usr/local/gd2/ \ #调用gd库
--with-mcrypt=/usr/local/libmcrypt/ \ #调用libmcrypt库
--with-mysqli=/usr/local/mysql/bin/mysql_config \#增加MysqlLi功能
--enable-soap \ #支持SOAP和Web Services
--enable-mbstring=all \ #支持多字节字符串
--enable-[socket](http://c.biancheng.net/socket/)s #支持socket(套接字)通信
--with-pdo-mysql=/usr/local/mysql #启用mysql的pdo模块支持
[root@localhost php-5.4.25]# make
\#编译
[root@localhost php-5.4.25]# make install
\#编译安装

4) 建立PHP配置文件

和 Mysql 一样,这个配置文件不用手工建立,也是有模板文件的,我们只需复制即可。命令如下:

[root@localhost php-5.4.25]# cp /usr/local/src/ php-5.4.25/php.ini-production
/usr/local/php/etc/php.ini

5) 让apache可以识别“.php”扩展名

在安装 PHP 时,在 ./configure 命令中使用 --with-apxs2=/usr/local/apache2/bin/apxs 选项,已经把 PHP 作为模块被 apache 识别了。不过,apache 并不知道哪些扩展名的文件要调用 PHP 模块来解析(如果是 apache 不认识的扩展名,那么客户端在访问时,apache 不会尝试解析,而是提示客户端下载),所以我们需要修改 apache 的配置文件,让 apache 可以认识 PHP 脚本的扩展名。

比如,我们想让 apache 在遇到“.php”和“.phps”扩展名时,调用 PHP 模块来解析这些文件的内容,那么我们只需要执行如下命令:

[root@localhost php-5.4.25]# vi /usr/local/apache2/etc/httpd.conf
\#修改apache配置文件,加入如下内容
AddType application/x-httpd-php.php.phps
\#这句话的意思是:如果遇到.php和.phps扩展名,则调用PHP模块来解析这个文件的内容

这句话加载在 apache 配置文件中的任何位置都是可以的,不过系统中有类似的语句 AddType application/x-gzip.gz.tgz,那么我们一般将其加载到这句话后面。命令如下:

[root@localhost php-5.4.25]# vi /usr/local/apache2/etc/httpd.conf
…省略部分输出…
\# If the AddEncoding directives above are commented-out, then you probably should define those extensions to indicate media types:
\#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phps #加载到此位置
…省略部分输出…

至于 PHP 文件的扩展名,可以自由定义。

6) 重启Apache服务器

我们修改了 apache 的配置文件,如果想让这个修改生效,那么必须重启 Apache 服务器。重启命令如下:

[root@localhost php-5.4.25]# /usr/local/apache2/bin/apachectl stop
[root@localhost php-5.4.25]# /usr/local/apache2/bin/apachectl start

这里最好不要使用 restart 参数,因为对于源码包的 apache 启动命令,restart 参数有时会不起作用。

7) 测试PHP环境是否正常

对源码包安装的 apache 来讲,网页的默认保存位置是 /usr/local/apache2/htdocs/ 目录。为了测试 PHP 环境是否正常,我们需要在这个目录中建立一个 PHP 文件,看看这个文件是否可以正常显示。命令如下:

[root@localhost php-5.4.25]# vi /usr/local/apache2/htdocs/index.php
<?php
phpinfo();
?>

这里我们使用了 phpinfo() 函数,这个函数的主要作用是显示 PHP 的相关信息,这些信息包括 PHP 的编译信息、PHP 的版本、服务器信息和环境、PHP 的环境、操作系统信息、路径、主要的配置选项、HTTP 头信息和 PHP 的许可等。我们一般使用这个函数来测试 PHP 是否安装成功,接下来在浏览器中输入 http ://服务器IP/index.php 来执行该文件,如图1 所示。

img
图 1 phpinfo测试页

如果能看到图 1,那么恭喜你,PHP 安装成功。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
目录
相关文章
|
2月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
2月前
|
Ubuntu Linux
任何Ubuntu用户都应安装的四大Linux应用程序
当然,这款程序不需要太多介绍。我们面对的是网上最庞大最完整的多媒体中心,由于丰富的插件,我们能够高度细化地定制其每一项功能。这是我们的Linux发行版不可或缺的必备软件。 我们可以通过运行以下命令来轻松安装Kodi:sudo apt install kodi。
|
2月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
2月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
3月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
194 80
|
2月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
154 5
|
2月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
141 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
2月前
|
Ubuntu 安全 Linux
Linux这5款微型发行版,体积小+精简,比win7运行还快,值得安装
以上5款微型发行版体积小且精简,如果你有台旧电脑,不妨试试?