centOS6.7 php7.2项目部署详细步骤及bug详解

一、首先安装本机数据库mongo+redis

    mongo 3.4.3

    mongodb-linux-x86_64-rhel62-3.4.3.tgz  

    redis3.2.2  

    下载地址:http://download.redis.io/releases/redis-3.2.2.tar.gz
    修改redis.conf 否则swoole框架无法连接redis https://blog.csdn.net/u011072139/article/details/64922917
        bind 0.0.0.0
        protected-mode no #关闭redis的保护模式

    开启时指定redis.conf 否则开启有问题 
        ./redis-server ../redis.conf

二、安装php解释器及依赖包(必须按顺序安装)

    1.httpd2.4.3(Apache)

        apr   http://apr.apache.org/download.cgi
        编译方式:./configure --proxy=/usr/local/apr


        apr-util  http://apr.apache.org/download.cgi
        编译报错解决方案:https://blog.csdn.net/hanzheng260561728/article/details/79655043

        expat-devel基于c的xml解析器  http://download.chinaunix.net/search/?q=expat&frmid=22

        编译方式:./configure --proxy=/usr/local/apr
  

        pcre(可以不用源码安装)  https://ftp.pcre.org/pub/pcre/

        build-essential(c++编译环境包)  https://packages.ubuntu.com/bionic/build-essential
            dpkg-dev  
                ncurses(基于文本终端的图形互动功能的动态库  http://download.chinaunix.net/download/0008000/7242.shtml
        httpd
        编译方式:
            ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr1.6 --with-apr-util=/usr/local/apr-util1.6 --enable-so --                        enable-mods-shared=most
            **编译出现问题的解决办法:https://blog.csdn.net/qq_41772936/article/details/80878635
        开启tcp80端口的防火墙
        /etc/httpd/conf/httpd.conf 配置文件中添加ServerName localhost:80

        
        2、PHP解释器7.2.3   http://php.net/get/php-7.2.7.tar.gz/from/a/mirror
        参照文档:https://blog.csdn.net/qq_34272964/article/details/79716548
        编译方式: ./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-                                                          path=/usr/local/php7/etc --enable-fpm --without-gdbm
        问题描述: --with-apxs2=path 基于Apache中apxs的路径,必须指定路径,不然libphp7.so不会生成             
        参考资料:https://stackoverf low.com/questions/11544059/passenger-apache-undefined-symbol-unixd-config
        依赖库:libxml2

        3、swoole2.1.3   https://github.com/swoole/swoole-src/releases
                m4-1.4.9  http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
                autoconf-2.62  http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz

        编译方式:./configure --with-php-config=/usr/local/php7/bin/php-config

        问题描述:
               yum install -y php-devel 安装后才产生php-config文件

        4、phpredis  https://github.com/phpredis/phpredis.git 
        编译方式:./configure --with-php-config=/usr/local/php7/bin/php-config
        要下载和php7兼容的版本,否则编译出错

        5、php_mongo https://pecl.php.net/package/mongodb
        编译方式:./configure --with-php-config=/usr/local/php7/bin/php-config

        6、ThinkPHP(不需要安装,去网上下载)
        _STORAGE_WRITE_ERROR_问题: https://blog.csdn.net/shellshine/article/details/49824937
        解决办法:chmod -R 777 Runtime/Cache

        7、Apache和ThinkPHP关联
        问题描述:前端页面显示不出来

        参考:https://blog.csdn.net/weixin_37770023/article/details/78699491

        解决办法:
              在httpd.conf配置文件中配置 LoadModule rewrite_module modules/mod_rewrite.so
              AllowOverride None 将None改为 All(这里只修改配置文件路径Directory中的AllowOverride)
              重启Apache,prefect!!

         8、zip:
         编译方式:./configure --with-php-config=/usr/local/php7.2/bin/php-config
    
         问题描述:要使用PHP的zipArchive首先你得安装zip,安装zip你首先又得安装libzip,然后libzip的版本要求是>= 0.11,于                               是,下面解决。
         参考:https://blog.csdn.net/Aaroun/article/details/78224283
    
         问题描述2:网上下载的zip源码包编译失败(非php环境问题)

         参考:https://blog.csdn.net/slyjit/article/details/72831656

         解决办法:
                使用php7源码包内的zip源码包编译安装(找的我好苦!!!)
                路径:php-7.2.7/ext/zip 然后编译安装 --with-php-config=/usr/local/php7.2/bin/php-config

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值