最近有空就配置CentOS系统上的AMP环境,现在配置到PHP环境了

多话不说上传送门:http://blog.csdn.net/zhangatle/article/details/77447653

其中有些改动,毕竟博主的centOS的系统没有安装必须的开发环境包,他是纯净CentOS安装的!佩服

注:本文站在菜鸟的角度看待并解决问题,中间不可避免会遇到许多坑,而本文的目的就在于帮大家解决这些坑

工欲善其事,必先利其器,为了后续工作,需要先进行以下准备工作 
将所需要的软件安装包上传到服务器,本文上传到/home/zhangatle/tar目录,包括以下几个软件:

zlib-1.2.11.tar.gz 
libxml2-2.7.2.tar.gz 
jpegsrc.v9b.tar.gz 
libpng-1.4.3.tar.gz 
freetype-2.8.tar.gz 
libgd-2.2.4.tar.gz 
PHP-7.1.8.tar.gz

接下来进行安装工作,注意,安装这些软件是有顺序的,为了避免不必要的错误,可按以下顺序进行安装

1、zlib的安装

 cd /home/zhangatle/tar
tar zxvf zlib-1.2..tar.gz
cd zlib-1.2.
./configure //这个配置编译命令不要加目录参数
make && make install

2、libxml2安装

 cd /home/zhangatle/tar
tar zxvf libxml2-2.7..tar.gz
cd libxml2-2.7.
./configure --prefix=/usr/local/libxml2 --without-zlib
make && make install

3、安装jpeg

 cd /home/zhangatle/tar
tar zxvf jpegsrc.v9b.tar.gz
cd jpegsrc.v9b
./configure --prefix=/usr/local/jpeg \
--enable-shared --enable-static
make && make install

–enable-shared 把jpeg需要的函数库程序都编译到该软件里边 
优点:函数调用速度快 
缺点:软件本身比较大 
–enable-static 静态方式(独立类型)函数处理,需要什么函数,马上include来 
优点:软件本身比较小 
缺点:函数调用速度慢

4、安装libpng

 cd /home/zhangatle/tar
tar zxvf libpng-1.4..tar.gz
cd libpng-1.4.
./configure #和zlib一样不要带参数,让它默认安装到相应目录
make && make install

5、安装freetype(字体库)

 cd /home/zhangatle/tar
tar zxvf freetype-2.8.tar.gz
cd freetype-2.8
./configure --prefix=/usr/local/freetype
make && make install

6、安装GD库

 cd /home/zhangatle/tar
tar zvxf gd-2.2..tar.gz
cd gd-2.2.
./configure --prefix=/usr/local/gd \
--with-jpeg=/usr/local/jpeg/ \
--with-png --with-zlib \
--with-freetype=/usr/local/freetype
//惊喜啊,终于报错了,花都谢了

不对啊,我已经安装libpng了,为什么会报错呢?接下来开始解决错误了: 
经过查找相关资料,是缺少libpng-devel,不多说,安装

yum install libpng-devel

安装完成,退回到上级目录,并删除解压后的libgd,重复上述libgd的安装步骤

 cd ../
rm -rf gd-2.2.

果然,要么不报,要么错误一个接一个,又出现一个错误

查找相关资料,找到解决方案,安装fontconfig-devel

yum install fontconfig-devel

再回去删除解压后的包,重新解压,再重复上述libgd的安装步骤 
这次发现以下命令终于不报错了,意不意外?

 cd /home/zhangatle/tar
tar -zvxf gd-2.2..tar.gz
cd gd-2.2.
./configure --prefix=/usr/local/gd \
--with-jpeg=/usr/local/jpeg/ \
--with-png --with-zlib \
--with-freetype=/usr/local/freetype

接着make&&make install,成功,意料着安装php的准备工作已经完成,下面进行安装php

7、安装PHP7

执行以下命令,参数比较多,注意路径,避免出错

 cd /home/zhangatle/tar
tar -jxvf php-7.1..tar.gz
cd php-7.1.
./configure --prefix=/usr/local/php \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-freetype-dir=/usr/local/freetype \
--with-gd=/usr/local/gd \
--with-zlib --with-libxml-dir=/usr/local/libxml2 \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir \
--enable-mbstring=all \
--enable-mbregex \
--enable-shared
//此时会有一个警告,告诉我们mysql的问题,先不要管,因为我们还没有安装mysql,接着make&&make install

make

先去吃饭吧,安装需要的时间比较长,哈哈 
回来一看,TMD,又报错,能不能愉快的玩耍了?又一个致命错误

查了好久的资料,终于找到了问题所在,缺少libxpm,那就安装吧

yum install libXpm-devel.x86_64

安装完成后,再次重新安装GD库,显示Xpm安装完成即可再次安装PHP

再次安装PHP,法克,以报错,没完没了

问题说明:没有找到xpm库的安装位置 
解决方法: 
1.rpm -ql libXpm :查询出libXpm的安装位置,发现在/usr/lib64/ 下 
2.重新编译php,./configure中增加 –with-xpm-dir=/usr/lib64/

终于安装成功,接下来进行相关的配置工作

首先,复制一份配置文件到项目的安装目录

cp php.ini-development    /usr/local/php/lib/php.ini

配置Apache使其支持php 
vi /usr/local/httpd/conf/httpd.conf 
1) 在httpd.conf(Apache主配置文件)中增加:

AddType application/x-httpd-php .php    

2) 找到下面这段话:(在文件里面输入/ 斜杠再输入要搜索的内容按回车键就能搜索内容了)

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

在index.html 前面添加index.php

3) 建立php测试网页

vi /usr/local/apached/htdocs/index.php 

vi 是创建文件的意思

输入如下内容:

<?php
echo phpinfo();
?>

4) 重启apache

/usr/local/httpd/bin/apachectl restart

这里报了个小错误,根据提示,是ServerName的问题,更改一下就好了

在httpd.conf中找到ServerName并去掉前面的#号,至此,PHP的安装已经成功

码完字,睡个午觉,欢迎指正错误,互相促进

转自:@zhangatle

转: CentOS上安装LAMP之第二步:PHP环境及安装过程报错解决方案(纯净系统环境)的更多相关文章

  1. 转:CentOS上安装LAMP之第三步:MySQL环境及安装过程报错解决方案(纯净系统环境)

    这是AMP运行环境中最后配置的环境: 惯例传送门: 1.编译安装MySQL cd /home/zhangatle/tar tar zxvf mysql-.tar.gz cd mysql- cmake ...

  2. 转: CentOS上安装LAMP之第一步:Apache环境及安装过程报错解决方案(纯净系统环境)

    传送门:http://blog.csdn.net/zhangatle/article/details/77416996  小心坑!填完就懂怎么安装了 Note:要从零开始搭建,就不要嫌中间遇到各种问题 ...

  3. Sybase ASE安装过程报错,无法创建数据库设备[AM fork() failed]

    今天同事要搭建一套测试环境,安装开发版的SYBASE ASE 15.03 Windows平台下的,发现安装过程中到了创建数据库设备的环节就开始报错了,报错信息如下: 03/24/14 09:31:44 ...

  4. Aspen安装过程报错总结

    前几天一直帮朋友安装Aspen v11,因为之前的老版本总是报错,报错内容大概是证书过期了, 一开始朋友电脑上的老版本的Aspen 8卸载了,删除之前的数据库SqlServer 2012 ,然后重新安 ...

  5. 安装了nodejs后在命令行运行npm报错

    安装了nodejs后在命令行运行npm报错:Error: Cannot find module 'internal/util/types' 解决方法:删除目录“C:\Users\mengxiaobo\ ...

  6. 【Devops】【docker】【CI/CD】Jenkins自动安装JDK需要提供Oracle的账号密码,否则报错:Unable ro auto-install JDK until the license is accepted

    Jenkins自动安装JDK需要提供Oracle的账号密码,否则报错:Unable ro auto-install JDK  until the  license is accepted 解决方法: ...

  7. [转]在ubuntu linux下以编译方式安装LAMP(apache mysql php)环境

    FROM : http://www.cnblogs.com/eleganthqy/archive/2010/02/28/1675217.html 最近转向到了使用ubuntu做桌面,安装好系统以来一直 ...

  8. CentOS 6安装Oracle报错解决方案

    1. Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-05-23_04-18-48AM. Please ...

  9. 【解决方法】安装Win7和linux双系统后,linux报错“无法分配所提交的分区 not enough free space on disks”问题,以及win7无法启动“BootMGR image is corrupt....”问题

    近日,在笔记本上重装了Win7 企业版(64位)后,想装个linux双系统,于是开始安装 centOS 6.2(光盘安装) 硬盘分了一个主分区(c盘),一个扩展分区(3个逻辑分区:d,e,f盘),然后 ...

随机推荐

  1. 版本控制git之三-多人协作 变基 推送 拉取 删除远程分支

      版本控制git之三-多人协作 wangfeng7399已关注0人评论350人阅读2019-02-20 21:33:08   如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源 ...

  2. struts2文件上传(多文件)文件下载

    一 文件上传 1.环境要求 commons-fileupload-xxx.jar commons-io-xxx.jar 2.准备jsp页面 单 <%@ page language="j ...

  3. windows 常用的快捷键

    记录一些 windows 常用快捷键,待更新 Ctrl系列 快捷键 功能 Ctrl + C 复制 Ctrl + INSERT 复制 Ctrl + V 粘贴 Ctrl + Z 撤销 Ctrl + D 删 ...

  4. [Cqoi2015] 编号 【逆向思维,暴力枚举】

    Online Judge:Luogu-P4222 Label:逆向思维,暴力枚举 题目描述 你需要给一批商品编号,其中每个编号都是一个7位16进制数(由0~9, a-f组成).为了防止在人工处理时不小 ...

  5. Django项目:CRM(客户关系管理系统)--71--61PerfectCRM实现CRM学生上传作业

    # student_urls.py # ————————60PerfectCRM实现CRM学生上课记录———————— from django.conf.urls import url from bp ...

  6. CF 981C Useful Decomposition

    题面 题目大意 给定一棵树,要求划分出几条链,使这几条链交于一点. 解题思路 因为所有链都要交于一点,所以必须交于一个度数最多的点.这样就形成了一个菊花形.然后从这个点出发到它的子树,判断子树的度数是 ...

  7. Java内功修炼系列一工厂模式

    工厂模式是一种创建型模式,它提供了一种新的创建对象的方式,一般情况下我们都习惯用new关键字直接创建对象.有时候会遇到这种情况,我们需要根据具体的场景选择创建什么类型的对象,可能有多种类型都能选择,但 ...

  8. 洛谷p1605--迷宫 经典dfs

    https://www.luogu.org/problemnew/show/P1605 用这种题来复习一下dfs 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和终点坐标,问 ...

  9. pycharm professional 2019版长效激活

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...

  10. GC Roots的几种对象

    在java语言里,可作为GC Roots的对象包括下面几种: >虚拟机栈(栈帧中的本地变量表)中的引用的对象: >方法区中类静态属性引用的对象: >方法区中常量引用的对象: > ...