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页面失去焦点后就变空白,不知为何. 今天网上搜索解决方案,终于 ...
随机推荐
- 浅谈SLAM的回环检测技术
什么是回环检测? 在讲解回环检测前,我们先来了解下回环的概念.在视觉SLAM问题中,位姿的估计往往是一个递推的过程,即由上一帧位姿解算当前帧位姿,因此其中的误差便这样一帧一帧的传递下去,也就是我们所说 ...
- ReactNative常用命令
常用命令整理备忘 创建项目: react-native init myProject 安装RN初始化命令: yarn add react-native-cli 引用组件: npm install re ...
- java操作html格式数据
近期在做数据抓取功能,抓取到的数据为html格式,需在后台进行转换后取值,为了避免使用字符串查找方式获取而使用Jsonp完美实现. 1. 引入Jsonp: <dependency> < ...
- SQL语句之数据库操作
SQL语句系列 1.SQL语句之行操作 2.SQL语句之表操作 3.SQL语句之数据库操作 4.SQL语句之用户管理 占坑,带写……
- Python爬虫常用之登录(二) 浏览器模拟登录
浏览器模拟登录的主要技术点在于: 1.如何使用python的浏览器操作工具selenium 2.简单看一下网页,找到帐号密码对应的框框,要知道python开启的浏览器如何定位到这些 一.使用selen ...
- Emma姐
- STM32的GPIO工作原理 | 附电路图详细分析
STM32的GPIO介绍 STM32引脚说明 GPIO是通用输入/输出端口的简称,是STM32可控制的引脚.GPIO的引脚与外部硬件设备连接,可实现与外部通讯.控制外部硬件或者采集外部硬件数据的功能. ...
- docker 把镜像打包成文件
保存镜像为文件 docker save -o 要保存的文件名 要保存的镜像 举例: [root@iZbp16cdvzk4rhl0vn1gedZ ~]# ls aaa.cap install.sh mo ...
- docker安装mongo初体验
1.docker安装在此不做介绍,请自行百度:个人环境是在windows下运行cmd执行docker命令2.打算在docker下安装使用mongo,顺带熟悉docker,拉开篇章3.docker下安装 ...
- windows 下创建 sqlite 数据库
说明:windows 下执行创建 sqlite 数据库命令后数据库文件不会马上生成,需要创建表以后才会生成. 1.将 sqlite3.exe 文件放在任何位置(如放在 d:\tools )2.在 CM ...