CentOS 7运维管理笔记(11)----PHP安装与配置
PHP的安装同样需要经过环境检查、编译和安装3个步骤。
1.首先用百度搜索 “PHP:Downloads”, 点击第一个网页:

选择5.5.37版本,选择 .tar.gz 格式的文件:

来到镜像列表网站:http://php.net/get/php-5.6.23.tar.gz/from/a/mirror
找到中国的镜像,点击,会弹出浏览器下载的对话框。在对话框中,有下载的地址信息:

在CentOS7 命令行里输入:
wget http://cn2.php.net/distributions/php-5.5.37.tar.gz
下载完成:

2. 编译源码并安装
(i) ./configure 命令
进入 ~/Downloads/php-5.5.37 目录,输入
[root@localhost:~/Downloads/php-5.5.] # ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-fpm

结果出现错误:

网上搜解决方案,说是要安装 libxml2:
[root@localhost:~/Downloads/php-5.5.]# yum install -y libxml2
[root@localhost:~/Downloads/php-5.5.]# yum install -y libxml2-devel
安装 libxml2 正常,但是安装 libxml2-devel 却显示如下错误:

将软件源从 aliyun 的源更新为 163 的源,还是不行。想起来之前备份了安装 CentOS时自带的源文件,便 cd 到 /etc/yum.repos.d 目录,恢复原始的源文件 CentOS-Base.repo,接着更新cache:
yum clean all
yum makecache
然后再下载 libxml2-devel
yum install -y libxml2-devel

成功!
再去 ./configure,这次参考了网上其他人的安装经验,改正了 ./configure 的参数,另外,使用
find / -name "libxml2"
命令查到 'yum install -y libxml2' 命令将 libxml2安装在了 '/usr/include/libxml2'
新的 ./configure 命令如下:
[root@localhost:~/Downloads/php-5.5.]# ./configure --prefix=/usr/local/php \
> --enable-fpm \
> --with-config-file-path=/usr/local/php/etc \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql \
> --with-libxml-dir=/usr/include/libxml2 \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-soap \
> --enable-mbstring=all \
> --enable-sockets
configure 结果如下:

成功!
(ii) make & make test & make install
make

make test
好长一段时间后:
make install

安装成功。
3. 配置Apache与PHP关联
(i) ‘vim /usr/local/apache2/conf/httpd.conf’ ,查找有没有这么一条配置指令:
LoadModule php5_module modules/libphp5.so
没有的话则自行添加这么一条配置指令。

(ii) 在 <IfModule mime_module> 段落中添加
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

(iii) 在<IfModule dir_module>段落中添加
DirectoryIndex index.php index.html

这样浏览器访问该改服务器的主页时,默认会先解析 index.php 文件,如果没有 index.php 文件,再解析 index.html 文件。
(iv) 输入如下命令查看Apache配置是否正确,如果正确,则重启Apache服务器:
apachectl -t
#如果返回 Syntax OK,则输入如下重启命令 apachectl restart

4. 创建 index.php 文件
(i) 之前安装Apache软件的时候,在 httpd.conf 里默认配置的本机文件根目录为 '/usr/local/apache2/htdocs':

安装Apache成功后,默认在 htdocs 文件夹下已经生成了 index.html 文件,现在在里面重新添加 index.php 文件:
[root@localhost:/usr/local/apache2/htdocs]# vim index.php
index.php 文件内容如下:
<?php
phpinfo();
?>

(ii) 然后在宿主机浏览器中输入虚拟机的IP地址进行访问:

成功!!!!! ---------喜悦~~~~~~~~~~~~~~~~~~
可以看到 phpinfo() 函数返回的页面中的信息正是配置和安装PHP软件时使用的参数的信息。
后记:之前在编译安装好 php后 ,因为没有进行第 3 步的Apache与PHP的配置关联工作,所以在宿主机浏览器中输入‘192.168.1.219/index.php’ 的时候,总是弹出对话框提示用户下载 index.php 。当时不明白怎么回事。后来在 http://unix.stackexchange.com/questions/294030/why-my-web-browser-always-downloads-the-php-page-rather-than-show-it 提问,才知道是因为没有关联Apache和PHP,所以 Apache不知道如何解析PHP文件,所以 index.php 就被当做了 plain text 来对待,只能下载了。现在终于成功了。
CentOS 7运维管理笔记(11)----PHP安装与配置的更多相关文章
- CentOS 7运维管理笔记(11)----解决配置静态IP还是会出现动态IP地址的问题
网上搜集CentOS7 配置静态IP的方法,基本上都是说在 /etc/sysconfig/network-scripts/ifcfg-eth0文件中做如下配置 TYPE=Ethernet HWADDR ...
- CentOS 7运维管理笔记(5)----源代码安装Apache 2.4,搭建LAMP服务器
########################## 2016-07-07-Thu--20:34 补充 ##################### 编译安装OpenSSL笔记: 如果系统要使用 ...
- CentOS 7运维管理笔记(9)----Apache 安全控制与认证
Apache 提供了多种安全控制手段,包括设置Web访问控制.用户登陆密码认证及 .htaccess 文件等.通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取 ...
- CentOS 7运维管理笔记(4)----安装ftp服务器
在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的 ...
- CentOS 7运维管理笔记(10)----MySQL源码安装
MySQL可以支持多种平台,如Windows,UNIX,FreeBSD或其他Linux系统.本篇随笔记录在CentOS 7 上使用源码安装MySQL的过程. 1.下载源码 选择使用北理工的镜像文件: ...
- CentOS 7运维管理笔记(6)----Apache 基于 IP 的虚拟主机配置
Apache 配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置.本篇随笔记录自己基于IP的虚拟主机配置. 如果同一台服务器有多个IP,可以使用基于IP的 ...
- CentOS 7运维管理笔记(1)----设置默认启动模式为GUI模式或命令行模式
昨天在虚拟机中安装CentOS 7时选择了GNOME模式安装,开机默认进入GUI模式.网上搜找修改为默认命令行模式的方法,看到说修改 /etc/inittab文件,在最低下一行添加 但是 使用 cat ...
- CentOS 7运维管理笔记(12)----GUI配置工具Webmin的安装
早期的Linux系统管理员或是Web管理员在修改服务器配置时使用最多的就是vi编辑器,但是现在越来越多的基于GUI界面的配置工具出现了,毕竟人们还是喜欢以直接的可视化的方式来修改服务器的配置,而不是再 ...
- CentOS 7运维管理笔记(12)----PHP页面失去焦点后变成空白的解决方法
昨天搭建好了LAMP服务器,可以正常看到PHP页面了.后来发现每当把鼠标从浏览器中移开而点击其他地方时,PHP页面就变成一片空白.即PHP页面失去焦点后就变空白,不知为何. 今天网上搜索解决方案,终于 ...
随机推荐
- 【Leetcode】Binary Tree Traversal
把三个二叉树遍历的题放在一起了. 递归写法太简单,就不再实现了,每题实现了两种非递归算法. 一种是利用栈,时间和空间复杂度都是O(n). 另一种是借助线索二叉树,也叫Morris遍历,充分利用树中节点 ...
- 第六次 Scrum Meeting
第六次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/4/10 22:00 30min 大运村1号楼6F 附Github仓库:WEDO 例会照片 工作情况总结(4.10 ...
- ASP.NET Core中Middleware的使用
https://www.cnblogs.com/shenba/p/6361311.html ASP.NET 5中Middleware的基本用法 在ASP.NET 5里面引入了OWIN的概念,大致意 ...
- [转] Hive函数大全
1.内置运算符 1.1关系运算符 运算符 类型 说明 A = B 所有原始类型 如果A与B相等,返回TRUE,否则返回FALSE A == B 无 失败,因为无效的语法. SQL使用”=”,不使用”= ...
- html5实现判断拍照旋转角度等功能
https://www.aliyun.com/jiaocheng/857189.html base64图片编码上传,判断图片是否有旋转,若有旋转修正图片并保存至阿里 http://code.c ...
- (转)linux内存源码分析 - 内存回收(整体流程)
http://www.cnblogs.com/tolimit/p/5435068.html------------linux内存源码分析 - 内存回收(整体流程) 概述 当linux系统内存压力就大时 ...
- (转)mysql 5.6 原生Online DDL解析
做MySQL的都知道,数据库操作里面,DDL操作(比如CREATE,DROP,ALTER等)代价是非常高的,特别是在单表上千万的情况下,加个索引或改个列类型,就有可能堵塞整个表的读写. 然后 mysq ...
- selenium+Python(Js处理click失效)
有时候元素明明已经找到了,运行也没报错,点击后页面没任何反应.这种问题遇到了,是比较头疼的,因为没任何报错,只是 click 事件失效了. 问题: 1.在练习百度的搜索设置按钮时,点保存设置按钮,al ...
- 浅谈flex布局
Flex布局,俗称弹性布局,有了这个布局,咱们做的事情很多,以前那些很难实现比如说垂直居中之类都不存在了. 盒模型布局依赖于float,display,定位之类的方式来布局,这种的布局对一些特殊布局来 ...
- eclipse中springsource-tool-suite(sts)插件安装教程
插件的下载参照:http://www.cnblogs.com/jepson6669/p/8540157.html 用过的eclipse不能安装成功,需要重新解压新的才能安装成功,不知道为什么? 解压上 ...