zoukankan      html  css  js  c++  java
  • linux 虚拟机 安装 php-7.0.2

    1.安装依赖包  

    yum -y install libxml2 libxml2-devel openssl openssl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel
    yum -y install bzip2 bzip2-devel libcurl libcurl-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel

    2. 安装libmcrypt

        -> wget http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
        -> tar -zxvf libmcrypt-2.5.8.tar.gz
        -> cd libmcrypt-2.5.8
        -> ./configure
        -> make && make install

    3. 安装PHP7

       -> wget http://cn2.php.net/get/php-7.0.2.tar.gz  下载 php-7.0.2.tar.gz
        -> tar -zxvf php-7.0.2.tar.gz 解压缩
        -> cd php-7.0.2 进入目录
    
        -> ./configure --prefix=/usr/local/php --with-config-file-path=/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-openssl-dir --with-mcrypt --with-mhash --with-pcre-regex --with-pcre-dir --with-sqlite3 --with-zlib --with-zlib-dir --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --enable-ftp --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-gmp --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysqli=mysqlnd --enable-mysqlnd-compression-support --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-xsl --enable-zip --with-pear --enable-opcache
    注:
            --prefix=/usr/local/php         指定 php 安装目录
            --with-config-file-path=/etc     设置php.ini的搜索路径。默认为PREFIX/lib
            --enable-fpm                     打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
            --with-fpm-user=www 
            --with-fpm-group=www
            --enable-inline-optimization     优化线程
            --disable-debug                 关闭调试模式
            --disable-rpath                 关闭额外的运行库文件 
            --enable-shared                 编译共享库,默认yes
            --enable-soap                    soap模块
            --with-libxml-dir                 打开libxml2库的支持
            --with-xmlrpc                    打开xml-rpc的c语言 
            --with-openssl                     openssl的支持,加密传输时用到的
            --with-mcrypt                     mcrypt算法(函数库需要安装)
            --with-mhash                     mhash算法(函数库需要安装)
            --with-pcre-regex                 定 PCRE 包含文件和库文件路径
            --with-sqlite3 
            --with-zlib                     打开zlib库的支持
            --enable-bcmath                 打开图片大小调整,用到zabbix监控的时候用到了这个模块
            --with-iconv
            --with-bz2                         打开对bz2文件的支持
            --enable-calendar                 打开日历扩展功能
            --with-curl                     打开curl浏览工具的支持
            --with-cdb 
            --enable-dom 
            --enable-exif                     图片的元数据支持 
            --enable-fileinfo 
            --enable-filter 
            --with-pcre-dir                 perl的正则库安装位置
            --enable-ftp                     打开ftp的支持
            --with-gd                         打开gd库的支持 
            --with-openssl-dir
            --with-jpeg-dir                 打开对jpeg图片的支持
            --with-png-dir                     打开对png图片的支持 
            --with-zlib-dir                    打开zlib库的支持
            --with-freetype-dir             打开对freetype字体库的支持
            --enable-gd-native-ttf            支持TrueType字符串函数库
            --enable-gd-jis-conv 
            --with-gettext                     打开gnu 的gettext 支持,编码库用到
            --with-gmp 
            --enable-json
            --enable-mbstring                  多字节,字符串的支持
            --enable-mbregex 
            --enable-mbregex-backtrack 
            --with-libmbfl
            --with-onig
            --enable-pdo
            --with-mysqli=mysqlnd             mysql安装目录,对mysql的支持
            --with-pdo-mysql=mysqlnd
            --with-pdo-sqlite
            --with-readline
            --enable-session
            --enable-shmop
            --enable-simplexml
            --enable-sockets                  打开 sockets 支持
            --enable-sysvmsg
            --enable-sysvsem
            --enable-sysvshm
            --enable-wddx
            --with-xsl                         打开XSLT文件支持,扩展了libXML2库 ,需要libxslt软件
            --enable-zip                     打开对zip的支持 
            --enable-mysqlnd-compression-support 
            --with-pear                      打开pear命令的支持,PHP扩展用的 
            --enable-opcache

    -> 报错解决
            报错1-> configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
            解决1-> 编辑 /etc/ld.so.conf 加入/usr/local/lib,在执行ldconfig
       -> make
        -> make install
    
        -> 配置
        -> cp php.ini-development /etc/php.ini 复制配置文件 php.ini-development
        -> cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
        -> vim /usr/local/php/etc/php-fpm.conf
           
           pid = /var/run/php-fpm.pid 去掉前面的分号
           error_log = /data/logs/php-fpm/php-fpm.log 去掉前面的分号
    
        -> cd /usr/local/php/etc/php-fpm.d
        -> cp www.conf.default www.conf 根据需求配置
    
        -> /usr/local/php/sbin/php-fpm 启动php-fpm
        -> kill -INT `cat /var/run/php-fpm.pid` 关闭php-fpm   
           /usr/local/php/var/run/php-fpm.pid
        -> kill -USR2 `cat /var/run/php-fpm.pid` 重启php-fpm 

    4. 配置域名

    -> cd /usr/local/nginx/conf/vhost/
        -> vim www.test.com.conf
    
            upstream testphpfpm 
            {
                server 127.0.0.1:9000;
            }
            log_format  testaccess  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" $http_x_forwarded_for';
            server 
            {
                listen    80;
                server_name xxx.xxx.xxx;
                index  index.shtml index.html index.htm;
                root /data/www/project;
                
                ssi on;
                ssi_silent_errors on;
                ssi_types text/shtml;
                #error_page 404 = http://xxx.xxx.xxx;
    
                location ~ .php$ 
                {
                    alias  /data/www/project;
                    fastcgi_pass  testphpfpm;
                    fastcgi_index  index.php;
                    include fastcgi.conf;
                    
                }
    
                
        /*下面两个IF 是兼容 CI框架 否则CI框架项目无法使用*/
        if ($request_uri ~* "^/(static|data|install|.)/.*"){ set $rule '1'; } if ($rule !~ '1'){ rewrite ^/(.+)$ /index.php?/$1 last; } access_log /data/logs/nginx/xxx.xxx.xxx.log testaccess; } -> :wq 保存退出

    5. 分割日志

       -> 创建脚本目录
        -> cd /data
        -> mkdir scripts
        -> cd scripts
        -> vim nginx_log_splid.sh
    
            #!/bin/sh
            LOGDIR ="/data/logs/nginx"
            FILEDAY = `date -d "-1 days" +%Y%m%d`
            /bin/mv  $nginx_log_dir/www.test.com.log $LOGDIR /www.test.com.$FILEDAY.log
            kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
    
        -> :wq 
        -> crontab -e 添加一条定时任务
            0 0 * * * /data/scripts/nginx_log_splid.sh 每晚0点执行nginx_log_splid.sh文件

    测试 /usr/local/nginx/sbin/nginx -t
    提示 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    即为配置成功。
    重启 /usr/local/nginx/sbin/nginx -s reload

    6. 主机访问虚拟机项目只需要完成下面配置 ^_^

    在/usr/local/nginx/conf/vhost目录配置后,在主机的hosts里,将域名指向虚拟机的IP即可

    实践 

    mkdir data/www/project

    在project新建一个CI框架项目

    www.test.com 直接访问出现CI欢迎界面 成功!

  • 相关阅读:
    C++11 std::function函数包装器
    C++ spdlog日志管理
    c++ error C2663:n个重载没有“this”指针的合法转换
    nlohmann json for modern C++
    更新CMake3.16+的方法
    VS 设置Tab为空格
    Visual Studio 2019 UTF-8编码调试显示中文
    Notepad++ 设置Tab为空格
    C++11 =default 和 =delete
    C++11 constexpr
  • 原文地址:https://www.cnblogs.com/hejun695/p/5368269.html
Copyright © 2011-2022 走看看