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页面失去焦点后就变空白,不知为何. 今天网上搜索解决方案,终于 ...
随机推荐
- day0203 (whil else)
count = 0while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: pr ...
- python3 md5
参考: https://docs.python.org/3/library/hashlib.html?highlight=hashlib#credits https://blog.csdn.net/w ...
- Rancher 1.6 版本 只能在 linux 下用
实际操作 启动 , 访问方式 : 在启动过程中会发现没有 image , 然后自动下载 ( 执行 docker pull 命令 ) docker run --rm --privileged -v /v ...
- (转)MySQL性能调优my.cnf详解
MySQL性能调优my.cnf详解 https://blog.linuxeye.cn/379.html http://blog.csdn.net/orichisonic/article/details ...
- [目录]hybrid app 开发实战(基于ionic,cordova,angularjs)
序:为什么要写这个系列 第一章:hybrid app开发之技术选型 第二章:ionic,cordova,phonegap关系浅析 第三章:ionic环境搭建之windows篇 第四章:ionic环境搭 ...
- Zookeeper概念学习系列之paxos协议
不多说,直接上干货! 前言 一种最终一致的算法,paxos算法. paxos算法是由大牛lamport发明的,关于paxos算法有很多趣事.比如lamport论文最初由故事描述来引入算法,以至于那班习 ...
- 快手、抖音、微视类短视频SDK接入教程,7步就能搞定
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由视频咖 发表于云+社区专栏 终端部分 按照如下三步操作,可以用 XCode 或者 Android Studio 编译和调试小视频 Ap ...
- 一站式机器学习平台TI-ONE是什么?——云+未来峰会开发者专场回顾
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 背景:5月23-24日,以“焕启”为主题的腾讯“云+未来”峰会在广州召开,广东省各级政府机构领导.海内外业内学术专家.行业大咖及技术大牛等在 ...
- log4j 详细讲解
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...
- 从零开始制作H5人脸融合小游戏
去年的建军节,一个展示军装照的H5人脸融合游戏火遍朋友圈,带来很好的传播效果.最近欧冠决赛要来了,公司决定做一个寻找和你最像的欧冠球星的H5游戏,那么该怎么做呢?认真分析了一下,这个游戏其实用到的技术 ...