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页面失去焦点后就变空白,不知为何. 今天网上搜索解决方案,终于 ...
随机推荐
- Elasticsearch 因拷贝多余的jar到lib库导致无法启动的问题
因为需要测试,无意中拷贝了一个netty-buffer-4.1.16.Final.jar包放到es的lib目录下,晚上回家启动es的时候发现启动不起来了.检查日志发现如下错误. 其中有一句关键语句 C ...
- 【算法笔记】B1040 有几个PAT
1040 有几个PAT (25 分) 字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 ...
- JVM 统计监测命令
参考 深入理解JVM(七)——性能监控工具 JVM性能调优监控工具专题一 JVM调优总结 + jstat 分析 1. 进入 jdk 目录 cd /usr/local/jdk/bin 2. 查询所有 j ...
- inline-block BUG问题
使用inline-block会使父元素高度不正常,要慎用!!!可以给父元素添加font-size:0解决,或者使用用float或者flex布局.
- vscode安装golang插件失败问题
vscode安装golang插件失败问题 dlv go-outline go-symbols gocode-gomod gocode 代码补全 godef 代码跳转 golint gopkgs gor ...
- win10操作系统系统,小米路由器,小米3 的问题
注意 , 置顶 单独一篇 : { win10 局域网共享 小米路由器,操作盘太卡 } 开发中用专业版 , 别用家庭版 比如有远程桌面程序 和 HV 虚拟机 查看激活信息 和 是不是永久激活 参考 h ...
- 未来一年的13大手机APP开发趋势
无论是欢呼出租车,保存票据,订购披萨还是在线购物,您可以立即联系到什么设备?你的智能手机 这是您需要的朋友,在如何查找信息和简化日常任务方面发挥着不可或缺的作用. 移动技术以光速增长; 我们不能否认手 ...
- 我的Python升级打怪之路【二】:Python的基本数据类型及操作
基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数是32位,取值范围是-2**31~2--31-1 在64位系统上,整数的位数是64位,取值范围是-2**63~2**63-1 clas ...
- Linux du与df命令的差异
今天上午查看磁盘空间,df命令查看的时候:93%,du命令查看的时候:90%.回想起昨天在用ftp传输过程中,rm掉文件,应该是文件虽然表明上删除掉了,但是空间实际是未释放的. 由于du与df命令实施 ...
- 关于发布webservice提示The test form is only available for requests from the local machine
通过编辑 Web 服务所在的 vroot 的 Web.config 文件,可以启用 HTTP GET 和 HTTP POST.以下配置同时启用了 HTTP GET 和 HTTP POST: <c ...