安装php之前,要先安装几个

1.下载php源码:http://cn2.php.net/distributions/php-7.0.6.tar.gz。

2.然后使用命令:tar -zxvf php-7.0.6.tar.gz,进行解压。

3.使用php时还要先安装几个其他的东西,否则安装会出错,或者不生成php.so扩展文件,

  先从ftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gz下载这个插件,注意不要下载最新版本除非需要,版本越新需要的依赖越多,下载完成后使用tar解压,

  执行1../configure,2.make,3.make install ,三个命令来编译安装这个东西。

  然后检查是否安装了httpd_devel,如果没有安装,执行yum install httpd-devel,进行安装,如果不安装的话,后期不会生成.so的扩展文件。

4.进入解压完的php文件,然后根据自己的需要,来配置./configure的参数

  

./configure \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin \
--sbindir=/usr/local/php7/sbin \
--includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php \
--mandir=/usr/local/php7/php/man \
--with-config-file-path=/usr/local/php7/etc \
--with-mysql-sock=/var/run/mysql/mysql.sock \
--with-mcrypt=/usr/include \
--with-mhash \
--with-openssl \
--with-pdo-mysql=shared,mysqlnd \
--with-mysqli=shared,mysqlnd \
--with-pdo-mysql=shared,mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--enable-zip \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-gd-native-ttf \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-soap \
--without-pear \
--with-gettext \
--enable-session \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--enable-fpm \
--without-gdbm \
--enable-opcache=no \
--disable-fileinfo

  注意,每个参数都可能会有依赖,比如:--with-zlib \ --enable-zip,是需要事先安装对应文件的,如果不需要,可以不指定对应参数,最好指定的编译参数是:--prefix --with-mysqli --with-apxs2 。

  编译完成如果么有错误,那就执行 make && make install .如果报错,看是否是缺少什么依赖,在重新编译前,先执行:make clean,否则可能会产生错误,错误信息:***lo' is not a valid libtool object。

5.复制配置文件:php的推荐配置文件,已经存在于源码文件中了,使用find命令查找一下,一般是两个:php.ini-production,php.ini-development,至于将那个当配置使用,就看自己的了。

6.根据安装位置,将对应的php文件位置添加到PATH中,文件位置:/etc/profile,在最后添加:

  PATH=$PATH:/usr/local/webserver/php/bin:/usr/local/webserver/mysql/bin -- 注意添加的不是php可执行的本身,而是上一级目录,否则不能使用,
  export PATH

  最后执行source /etc/profile 重新加载配置文件,然后echo $PATH,来看路径是否添加进了环境变量。

7.以上修改完毕之后应该是已经可以在本地执行php文件了,如果不能,则是有问题,要查看是php文件,还是path路径配置问题。

8.配置httpd.conf文件,

  在配置文件中搜素:  AddType 关键字,在其后面追加下面三行,如果不追加,httpd会直接打印php文件内容,不会调用php执行。

AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php .phtml .php3
    AddType application/x-httpd-php-source .phps

 接下来添加默认搜索php文件,在配置文件中查找DirectoryIndex 关键字,如果后面没有index.php,就在后面追加index.php,这样httpd才能默认访问php文件

接下来添加对php的支持,搜索LoadModule关键字,添加:LoadModule php7_module modules/libphp7.so,如果后期出现不能加载libphp7.so,则表示php编译有问题,最大可能就是没添加--with-apxs2参数,或者设置错误,需要重编php源码文件,直到能    在系统内搜索到libphp7.so为止。

 在httpd.conf内最好手动执行php的配置文件位置,方式为PHPIniDir "/usr/local/php7/bin",这样能保证重启httpd服务的时候,重新装载对的php配置。

 以上完成之后应该是配置完毕,找到index.html正确位置,添加index.php文件并将其他命名为index的文件改成其他名字,否则默认不会加载index.php,在index.php中添加代码

 

<?php
phpinfo();
?>

然后重启httpd服务器,使用IP访问测试,如果不行,先检查防火墙是否关闭,或者开放了指定的端口。

测试端口是否打开:firewall-cmd --query-port=80/tcp

打开指定端口:firewall-cmd --add-port=80/tcp

 或者直接关闭防火墙:

  systemctl start firewalld.service#启动firewall
  systemctl stop firewalld.service#停止firewall
  systemctl disable firewalld.service#禁止firewall开机启动

编译过程中可能出现的错误和解决办法:

运行之后遇到的问题:

error 1

checking for xml2-config path... 
configure: error: xml2-config not found. Please check your libxml2 installation.

(看提示就明白 是一个lib库没装  先用 yum search 名字 看是否能搜到名字 ,找到名字后 把软件包 开发包装上)

解决办法

yum install libxml2-devel.x86_64

error 2

checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>

这是ssl没装

解决办法

yum  install  openssl.x86_64 openssl-devel.x86_64 -y

error 3

checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution

这是bzip2软件包没有安装

解决办法

yum install bzip2-devel.x86_64 -y

error 4

configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/

curl和curl库文件没有安装

解决办法

yum install libcurl.x86_64 libcurl-devel.x86_64 -y

error 5

checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
configure: error: jpeglib.h not found

GD库没有安装

解决办法

yum install libjpeg.x86_64 libpng.x86_64 freetype.x86_64 libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y

error 6

checking for stdarg.h... (cached) yes
checking for mcrypt support... yes
configure: error: mcrypt.h not found. Please reinstall libmcrypt.

libmcrypt库没有安装 ,要是不能用yun安装的话  就要去下载个gz包 自己编译安装

(编译安装  ./configure --piefix=/usr/local/libmcrypt   make && make install)

要是错误里面含有mysql的  那是mysql-devel 没有安装

转载于:https://www.cnblogs.com/likui360/p/5511909.html

centos7 php7 httpd相关推荐

  1. php7.1 mysql_安装最新LAMP环境 (CentOS7+PHP7.1.5+Mysql5.7)

    1. 更新yum 源: yum update 2. 安装apache yum install -y httpd 3. 查看apache 版本 httpd -v 4. 关闭防火墙 ,查看防火墙状态,重启 ...

  2. centos7安装httpd service和启动时遇到的问题

    问题1.无法启动httpd.service:找不到单元. 可能原因:1,尚未安装的httpd的包 2.虽然安装成功了,但装错包(我是这种情况,一开始只安装了httpd httpd-tools包,代码为 ...

  3. Centos7 安装Httpd服务并浏览器中测试http页面

    一.安装httpd: 网络安装: yum -y install httpd 光盘挂载,用rpm安装: 这里cd的目录中cjm是你的用户名 cd /run/media/cjm/CentOS\ 7\ x8 ...

  4. CentOS7 php7.0 升级到php7.3

    不要问我为什么要升级,我不是运维.如果你也不是运维的话,而且是公司的服务器的话,那你还是要慎重啊,我他么的就这样填了一天的坑,简单记录一下这坑爹的一天 备份之前的php7.0(这很重要,非常重要) 如 ...

  5. php7 zip libzip,Docker中Centos7+PHP7.4.6安装libzip

    注意:请避免在新系统上安装老旧软件,也避免在老系统上安装最新软件 原始问题 因本地docker镜像限制,最高支持Centos7,又想尝试安装PHP最新版,结果卡在安装libzip时报错: checki ...

  6. CentOS7搭建httpd服务

    文章目录 httpd 1.httpd安装 .使用yum安装: .httpd命令 .curl命令 .编译安装httpd-2.4 2.httpd常用配置 .访问控制法则: 3.虚拟主机: .相同ip不同端 ...

  7. centos7安装httpd

    1.yum install httpd -y 2.安装好后启动httpd systemctl start httpd 查看httpd状态 systemctl status httpd 显示runnin ...

  8. centos7+PHP7 编译安装swoole教程

    一. 首先到gitHub上找到最新的版本下载地址 提示:因为我写着篇博客的时间再19年5月,后续swoole会继续版本的迭代,一些新功能的引入,所以大家直接到这个地址去找到最新的版本地址:https: ...

  9. centos7下安装php环境

    1.查看当前服务器的版本 #方法1 cat /etc/redhat-release#方法2 rpm -q centos-release 2.安装apache #一键安装apache yum insta ...

最新文章

  1. 开源Pravega架构解析:如何通过分层解决流存储的三大挑战?
  2. 使用jquery调试ajax接口-2
  3. Red Gate系列之一 SQL Compare 10.4.8.87 Edition 数据库比较工具 完全破解+使用教程
  4. 500多套微精品信小程序源码部分带后台,不同行业的源码集合,适合快速开发和自己学习
  5. 时域和频域的关系(转载)
  6. 编译原理课程设计c语言,编译原理课程设计心得体会
  7. iPhone游戏开发纵谈
  8. python之if-else_Python中的if-else
  9. 解决微信群服务管理难题,只需要一个助手
  10. Substance Painter 服饰材质制作 - 肩带1
  11. 【小技巧】Linux安装matlab教程
  12. 用Ubuntu编写第一个C程序并预处理、编译、汇编、链接
  13. 使用 bash, curl 随机访问指定页面,不输出页面内容
  14. python同时运行多个程序_如何同时运行两个python循环?
  15. 如何用c语言实现ax+by+cz=G所有的正整数的解的输出丫?
  16. 长虹50名高管激励被隐匿 称绵阳政府不允许宣扬
  17. textarea滚动条设置和初始时内容多空格解决
  18. 空洞卷积dilated conv
  19. log4j2的介绍与使用(配置文件,路径等)
  20. 电信ADSL+路由器自动拨号设置详细步骤

热门文章

  1. STM32开发 -- CRC校验码
  2. 最短路径 的一些解法和特殊情况
  3. Ransomware CryptXXX Analysis
  4. JZOJ 5906. 【NOIP2018模拟10.15】传送门 (portal)
  5. 文件不混淆_Android Studio配置反混淆
  6. linkedblockingqueue使用_阿里规范要求不能使用Executors创建线程
  7. Qt 模型视图编程的简单实例
  8. c语言结构体与共同体课件,《结构体与共同体》PPT课件.ppt
  9. 李萍matlab实验报告,基于实验报告自动批阅的系统分析
  10. sql取字段前4位_4千左右预算,2020年Word/Excel/用友/ 金蝶/SQL数据库-财务会计轻薄笔记本推荐...