• Linux装配—15.LAMP源码安装


    安装过程

    - 1.安装依赖
    
    - 2.安装mysql
    
    - 3.安装apache
    
    - 4.安装php
    

     

    安装依赖

    - 包组
    | Development Tools
    | Desktop
    | Desktop Platform
    | Desktop Platform Development
    
    
    [root@wg ~]# yum -y groupinstall "Development Tools"
    [root@wg ~]# yum install -y epel-release  // oniguruma正则表达式库,需要epel下载
    [root@wg ~]# yum -y install pcre-devel openssl-devel expat-devel libxml2-devel \
               > sqlite-devel libcurl-devel ncurses-devel libaio-devel 
               > oniguruma-devel cmake screen
    

     

    安装MySQL

    [root@wg opt]# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.35.tar.gz
    [root@wg opt]# tar -xvf mysql-5.7.35.tar.gz
    [root@wg local]# mkdir -p /data/mysql/3306/{data,log,tmp,mysqld}
    [root@wg local]# mkdir /etc/mysql.conf
    [root@wg local]# useradd -r -s /sbin/nologin lamp
    [root@wg local]# chown -R lamp:lamp /data/mysql/ 
    [root@wg local]# chmod -R 755 /data/mysql/
    [root@wg mysql-5.7.35]# screen -S mysql5.7      // 最好4G以上内存执行,我这里开了虚拟端口
    
    [root@wg mysql-5.7.35]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
                          > -DEXTRA_CHARSETS=all \
                          > -DDEFAULT_CHARSET=utf8mb4 \
                          > -DDEFAULT_COLLATION=utf8mb4_general_ci \
                          > -DSYSCONFDIR=/data/mysql/3306/data \
                          > -DSYSTEMD_PID_DIR=/data/mysql/3306/mysqld \
                          > -DMYSQL_UNIX_ADDR=/data/mysql/3306/tmp/mysql.sock \
                          > -DSYSCONFDIR=/etc/mysql.conf \
                          > -DWITH_INNOBASE_STORAGE_ENGINE=1 \
                          > -DWITH_MYISAM_STORAGE_ENGINE=1 \
                          > -DWITH_FEDERATED_STORAGE_ENGINE=1 \
                          > -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
                          > -DWITH_PARTITION_STORAGE_ENGINE=1 \
                          > -DENABLED_LOCAL_INFILE=ON \
                          > -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
                          > -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
                          > -DWITH_BOOST=boost -DWITH_SYSTEMD=1 \
                          > -DSYSTEMD_SERVICE_NAME=mysqld.service \
                          > -DCOMPILATION_COMMENT='MySQLWg'
                          # -DENABLE_DOWNLOADS=1 不带boost包增加
    
    [root@wg mysql-5.7.35]# C-a-d                      // ctrl+a+d退出当前会话
    [root@wg mysql-5.7.35]# screen -ls
    There are screens on:
            39135.mysql5.7   (Detached)
    
    [root@wg mysql-5.7.35]# screen -r 39135            // 回到编译界面
    -- Generating done
    -- Build files have been written to: /opt/mysql-5.7.35
    
    [root@wg mysql-5.7.35]# make -j2                       
    [root@wg mysql-5.7.35]# make install
    [root@wg mysql-5.7.35]# exit
    exit
    [screen is terminating]
    
    [root@wg mysql-5.7.35]# screen -ls
    No Sockets found in /var/run/screen/S-root.        // 没有虚拟端,不理会
    
    [root@wg mysql-5.7.35]# screen -S 39135 -X quit    // 如有虚拟端,删除;
    [root@wg local]# chown -R lamp:lamp mysql/
    [root@wg local]# chmod -R 755 mysql/
    [root@wg local]# vi /etc/mysql.conf/my.cnf
    ------------------------
    [client]
    port=3306
    socket=/data/mysql/3306/tmp/mysql.sock
    
    [mysqld]
    port=3306
    socket=/data/mysql/3306/tmp/mysql.sock
    user=lamp
    basedir=/usr/local/mysql
    datadir=/data/mysql/3306/data
    pid-file=/data/mysql/3306/mysqld/mysqld.pid
    log_error=/data/mysql/3306/log/mysqld.log
    slow_query_log=1                                          // 开启慢查询 on/off
    long_query_time=1                                         // 慢查询时间
    slow_query_log_file=/data/mysql/3306/log/mysql-slow.log   // 慢查询文件位置
    skip-external-locking                                     // 跳过外部锁定
    key_buffer_size=32M
    max_allowed_packet=1024M
    table_open_cache=128
    sort_buffer_size=768K
    net_buffer_length=8K
    read_buffer_size=768K
    read_rnd_buffer_size=512K
    myisam_sort_buffer_size=8M
    thread_cache_size=16
    query_cache_size=16M
    tmp_table_size=32M
    performance_schema_max_table_instances=1000
    explicit_defaults_for_timestamp=true
    #skip-networking
    max_connections=500
    max_connect_errors=100
    open_files_limit=65535
    log_bin=mysql-bin
    binlog_format=mixed
    server_id=232
    expire_logs_days=10
    early-plugin-load=""
    default_storage_engine=InnoDB
    innodb_file_per_table=1
    innodb_buffer_pool_size=128M
    innodb_log_file_size=32M
    innodb_log_buffer_size=8M
    innodb_flush_log_at_trx_commit=1
    innodb_lock_wait_timeout=50
    
    [mysqldump]
    quick
    max_allowed_packet=16M
    
    [mysql]
    no-auto-rehash
    
    [myisamchk]
    key_buffer_size=32M
    sort_buffer_size=768K
    read_buffer=2M
    write_buffer=2M
    --------------------
    
    [root@wg local]# reboot
    [root@wg ~]# /usr/local/mysql/bin/mysqld --initialize --user=lamp --datadir=/data/mysql/3306/data
    [root@wg ~]# grep "temporary password" /data/mysql/3306/log/mysqld.log
    20... password is generated for root@localhost: =yaa,UXW?7R)      
    
    [root@wg ~]# vi /usr/lib/systemd/system/mysqld.service
    -----------
    [Unit]
    Description=MySQL Server	   // 服务描述或名称
    Documentation=man:mysqld(8)      // 帮助文档,下同
    Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    After=network.target	           // 启动顺序,在network之后
    After=syslog.target	        
    
    [Install]
    WantedBy=multi-user.target	   // 开机启动功能	
    
    [Service]
    User=lamp		           // 用户
    Group=lamp			   // 用户组
    Type=forking                     // ExecStart产生子进程成为服务的主进程。启动完后父进程退出。
    PIDFile=/data/mysql/3306/mysqld/mysqld.pid	// pid文件
    # Disable service start and stop timeout logic of systemd for mysqld service.
    TimeoutSec=0
    # Execute pre and post scripts as root
    PermissionsStartOnly=true
    # Needed to create system tables
    ExecStartPre=/usr/local/mysql/bin/mysqld_pre_systemd
    # Start main service
    ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/data/mysql/3306/mysqld/mysqld.pid $MYSQLD_OPTS
    # Use this to switch malloc implementation
    EnvironmentFile=/etc/mysql.conf/my.cnf
    # Sets open_files_limit
    LimitNOFILE = 5000
    Restart=on-failure
    RestartPreventExitStatus=1
    PrivateTmp=false
    ----------------------
    
    [root@wg ~]# systemctl daemon-reload
    [root@wg ~]# systemctl start mysqld
    [root@wg ~]# systemctl enable mysqld
    
    [root@wg ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin/' > /etc/profile.d/mysql.sh
    [root@wg ~]# source /etc/profile.d/mysql.sh
    [root@wg ~]# grep 'temporary password' /data/mysql/3306/log/mysqld.log
    2021....password is generated for root@localhost: 3adC1f<)pe#x
    
    [root@wg ~]# mysql -uroot -p'3adC1f<)pe#x'
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
    mysql> exit
    [root@wg ~]# mysql -uroot -p12345
    mysql> grant all privileges on *.* to 'root'@'%' identified by '12345' with grant option;
    mysql> flush privileges; 
    mysql> exit
    
    [root@wg ~]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
    [root@wg ~]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql57.conf
    [root@wg ~]# ldconfig
    [root@wg ~]# vi /etc/man_db.conf                       // 跟6的文件不一样了
    | MANDATORY_MANPATH    /usr/local/mysql/man
    

    --------------下边是tar完整步骤,先放着-------------------

    [root@wg opt]# tar xvf 5.7.35-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
    [root@wg local]# ln -sv mysql-5.7.35-linux-glibc2.12-x86_64/ mysql
    [root@wg local]# mkdir -p /data/mysql/3306/{data,log,tmp,mysqld}
    [root@wg local]# useradd -r -s /sbin/nologin lamp
    [root@wg local]# chown -R lamp:lamp mysql/ /data/mysql/ 
    [root@wg local]# chmod -R 755 mysql/ /data/mysql/
    [root@wg local]# mkdir /etc/mysql.conf
    [root@wg local]# vi /etc/mysql.conf/my.cnf
    | [mysqld]
    | symbolic-links=0                     
    | datadir=/data/mysql/3306/data
    | socket=/data/mysql/3306/tmp/mysql.sock
    | log-error=/data/mysql/3306/log/mysqld.log
    | pid-file=/data/mysql/3306/mysqld/mysqld.pid
    |
    | [client]
    | socket=/data/mysql/3306/tmp/mysql.sock
    |
    | # 复制后,别忘了用:set list清理下特殊标记
    [root@wg local]# reboot
    
    [root@wg ~]# /usr/local/mysql/bin/mysqld --initialize --user=lamp --datadir=/data/mysql/3306/data
    [root@wg ~]# grep "temporary password" /data/mysql/3306/log/mysqld.log
    20... password is generated for root@localhost: =yaa,UXW?7R)         
    
    [root@wg ~]# vi /usr/lib/systemd/system/mysqld.service
    | [Unit]
    | Description=MySQL Server	                // 服务描述或名称
    | Documentation=man:mysqld(8)                   // 帮助文档,下同
    | Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
    | After=network.target	                        // 启动顺序,在network之后
    | After=syslog.target	        
    | 
    | [Install]
    | WantedBy=multi-user.target	                // 开机启动功能	
    | 
    | [Service]
    | User=lamp		                        // 用户
    | Group=lamp			                // 用户组
    | Type=forking                                  // ExecStart产生子进程成为服务的主进程。启动完后父进程退出。
    | PIDFile=/data/mysql/3306/mysqld/mysqld.pid	// pid文件
    | # Disable service start and stop timeout logic of systemd for mysqld service.
    | TimeoutSec=0
    | # Execute pre and post scripts as root
    | PermissionsStartOnly=true
    | # Needed to create system tables
    | ExecStartPre=/usr/local/mysql/bin/mysqld_pre_systemd
    | # Start main service
    | ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/data/mysql/3306/mysqld/mysqld.pid $MYSQLD_OPTS
    | # Use this to switch malloc implementation
    | EnvironmentFile=-/etc/sysconfig/mysql
    | # Sets open_files_limit
    | LimitNOFILE = 5000
    | Restart=on-failure
    | RestartPreventExitStatus=1
    | PrivateTmp=false
    
    [root@wg ~]# systemctl daemon-reload
    [root@wg ~]# systemctl start mysqld
    [root@wg ~]# systemctl enable mysqld
    
    [root@wg ~]# echo 'export PATH=$PATH:/usr/local/mysql/bin/' > /etc/profile.d/mysql.sh
    [root@wg ~]# source /etc/profile.d/mysql.sh
    [root@wg ~]# grep 'temporary password' /data/mysql/3306/log/mysqld.log
    2021....password is generated for root@localhost: 3adC1f<)pe#x
    
    [root@wg ~]# mysql -uroot -p'3adC1f<)pe#x'
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '12345';
    mysql> exit
    [root@wg ~]# mysql -uroot -p12345
    mysql> grant all privileges on *.* to 'root'@'%' identified by '12345' with grant option;
    mysql> flush privileges; 
    mysql> exit
    
    [root@wg ~]# ln -sv /usr/local/mysql/include/ /usr/include/mysql
    [root@wg ~]# echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql57.conf
    [root@wg ~]# ldconfig
    [root@wg ~]# vi /etc/man_db.conf     
    | MANDATORY_MANPATH    /usr/local/mysql/man
    

    --- 配置指令详参 ---

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql              // 安装路径
    -DMYSQL_DATADIR=/usr/local/mysql/data/               // 数据路径
    -DSYSCONFDIR=/etc/mysql.conf                         // 配置文件路径          
    -DMYSQL_UNIX_ADDR=/data/mysql/3306/tmp/mysql.sock    // sock文件路径
    -DSYSTEMD_PID_DIR=/data/mysql/3306/mysqld            // pid文件路径
    -DWITH_INNOBASE_STORAGE_ENGINE=1                     // 安装innodb引擎
    -DWITH_MYISAM_STORAGE_ENGINE=1                       // 安装myisam存储引擎
    -DWITH_FEDERATED_STORAGE_ENGINE=1
    -DWITH_BLACKHOLE_STORAGE_ENGINE=1
    -DWITH_PARTITION_STORAGE_ENGINE=1
    -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 
    -DENABLED_LOCAL_INFILE=1                             // 允许使用 load data 命令导入本地数据
    -DEXTRA_CHARSETS=all                                 // 安装所有字符集
    -DDEFAULT_CHARSET=utf8mb4                            // 默认utf8
    -DDEFAULT_COLLATION=utf8mb4_general_ci    
    -DWITH_DEBUG=0                                       // 关闭debug
    -DWITH_EMBEDDED_SERVER=1       // 生成一个libmysqld.a(.so)的库 这个库集成了mysql服务与客户端apt
    -DDOWNLOAD_BOOST=1                                   // 允许boost 
    -DENABLE_DOWNLOADS=1                                 // 自动下载boost        
    -DWITH_BOOST=/usr/local/boost                        // boost路径
    -DCOMPILATION_COMMENT='MySQLWg'
    -DWITH_SYSTEMD=1                                     // 启用支持systemd
    -DSYSTEMD_SERVICE_NAME=mysqld.service                // 上条打开状态,命名systemd管理的mysql的unit的名字
    
    - EXAMPLE是不执行任何操作的引擎。它存在的目的是作为MySQL源代码中的一个示例,演示如何编写新的存储引擎,默认关闭。
    | -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1               
    
    - DWITH_SYSTEMD:是否启用 systemd 支持文件的安装。默认情况下,此选项被禁用。
    | 启用后,会安装 systemd 支持文件,而不会安装 mysqld_safe 和 System V 初始化脚本等脚本。
    | 在 systemd 不可用的平台上,启用 WITH_SYSTEMD 会导致CMake出错
    

     

    安装Apache

    [root@wg opt]# tar xvf httpd-2.4.52.tar
    [root@wg opt]# tar xvf apr-util-1.6.1.tar
    [root@wg opt]# tar xvf apr-1.7.0.tar
    [root@wg opt]# cp -r apr-1.7.0 httpd-2.4.52/srclib/apr
    [root@wg opt]# cp -r apr-util-1.6.1 httpd-2.4.52/srclib/apr-util
    [root@wg httpd-2.4.52]# ./configure --prefix=/usr/local/apache24 \
                          > --sysconfdir=/usr/local/apache24/conf \
                          > --enable-so --enable-rewrite --with-pcre \
                          > --enable-modules=all --with-mpm=event \
                          > --enable-mpms-shared=all --with-zlib \
                          > --with-apr=/opt/httpd-2.4.52/srclib/apr \
                          > --with-apr-util=/opt/httpd-2.4.52/srclib/apr-util \
                          > --with-included-apr
    
    [root@wg httpd-2.4.52]# make && make install
    [root@wg bin]# /usr/local/apache24/bin/apachectl start
    AH00558: httpd: Could not reliably determine ...
    
    [root@wg bin]# vi /usr/local/apache24/conf/httpd.conf
    | ServerName localhost:80
    
    [root@wg bin]# /usr/local/apache24/bin/apachectl start
    httpd (pid 56264) already running
    
    [root@wg bin]# systemctl status httpd
    Unit httpd.service could not be found.
    
    [root@wg bin]# vi /usr/lib/systemd/system/httpd.service
    | [Unit]
    | Description=Start httpd
    | 
    | [Service]
    | Type=simple
    | EnvironmentFile=/usr/local/apache24/conf/httpd.conf
    | ExecStart=/usr/local/apache24/bin/httpd -k start -DFOREGROUND
    | ExecReload=/usr/local/apache24/bin/httpd -k graceful
    | ExecStop=/bin/kill -WINCH ${MAINPID}
    | 
    | [Install]
    | WantedBy=multi-user.target
    
    [root@wg ~]# systemctl daemon-reload
    [root@wg ~]# systemctl restart httpd
    
    [root@wg ~]# vi /etc/profile.d/http.sh
    | export PATH=$PATH:/usr/local/apache24/bin
    
    [root@wg profile.d]# source /etc/profile
    [root@wg profile.d]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/apache24/bin
    
    [root@wg profile.d]# apachectl stop
    [root@wg profile.d]# apachectl start
    [root@wg ~]# ln -sv /usr/local/apache24/include /usr/include/httpd
    "/usr/include/httpd" -> "/usr/local/apache24/include"
    
    [root@wg ~]# cat /etc/ld.so.conf
    include ld.so.conf.d/*.conf
    
    [root@wg ~]# echo "/usr/local/apache24/lib" >> /etc/ld.so.conf.d/http_lib.conf
    # http.conf是主配置文件,给库配置文件命名为http_lib.conf
    
    [root@wg ~]# ldconfig
    [root@wg ~]# ldconfig -v 
    /usr/local/apache24/lib:
            libaprutil-1.so.0 -> libaprutil-1.so.0.6.1
            libapr-1.so.0 -> libapr-1.so.0.7.0
    
    [root@wg etc]# vi man_db.conf     // centos6是man.config
    | MANDATORY_MANPATH   /usr/local/apache24/man
    

    --- 配置指令详参 ---

    --prefix=/usr/local/apache                                  // 指定安装目录
    --enable-mpms-shared=all --with-mpm=event                   // 开启动态MPM切换
    --with-apr=/usr/local/apr                                   // 指定依赖包apr安装路径
    --enable-so                    // 打开so模块,so模块用来提供 dso 支持的apache核心模块
    --enable-remoteip                                           // 支持基于客户端IP做访问控制
    --enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi     // 启用代理支持php,python网站
    --enable-deflate=shared                                     // 开启压缩
    --enable-expires=shared                                     // 开启客户端缓存
    --enable-rewrite=shared                                     // 开启URL重写
    --enable-cache --enable-file-cahce                          // 开启服务器缓存
    --enable-mem-cache --enable-disk-cache    
    --enable-static-support                                     // 支持静态连接
    --enable-static-ab             // 使用静态连接编译 ab - apache http 服务器性能测试工具
    --disable-userdir                                           // 禁用用户主目录提供页面访问
    --enable-nonportable-atomics   // 对新式CPU支持,支持原子的比较交换(compare-and-swap,CAS)操作指令
    --disable-ipv6                                              // 禁用IPV6
    --with-sendfile                                             // 开启sendfile 0 复制机制
    

     

    安装PHP

    [root@wg opt]# tar xvf php-7.4.27.tar.gz
    [root@wg php-7.4.27]# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc \
                        > --with-config-file-scan-dir=/usr/local/php7/etc/php.d --enable-mysqlnd --with-mysqli \
                        > --with-pdo-mysql --enable-fpm --with-fpm-user=lamp --with-fpm-group=lamp --without-pear \
                        > --with-iconv --with-zlib --enable-xml --enable-shmop --enable-sysvsem --enable-ftp \
                        > --enable-mbregex --enable-mbstring --with-openssl --with-curl --enable-opcache \
                        > --enable-pcntl --enable-sockets --enable-soap  --with-gettext --enable-session \
                        > --with-apxs2=/usr/local/apache24/bin/apxs
    
    [root@wg php-7.4.27]# make && make install
    
    [root@wg php-7.4.27]# ls /usr/local/apache24/modules/
    httpd.exp            mod_cgid.so            mod_log_debug.so       mod_request.so
    libphp7.so           mod_cgi.so             mod_log_forensic.so    mod_rewrite.so
    ...
    
    [root@wg php-7.4.27]# vi /usr/local/apache24/conf/httpd.conf
    --------
    ...
    LoadModule alias_module modules/mod_alias.so
    #LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule php7_module        modules/libphp7.so
    ...
    User lamp                  // 手工变更
    Group lamp                 // 手工变更
    --------
    
    [root@wg ~]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
    [root@wg etc]# egrep -v "^;|^$" php-fpm.conf
    [global]
    pid = run/php-fpm.pid
    error_log = log/php-fpm.log
    daemonize = yes
    include=/usr/local/php7/etc/php-fpm.d/*.conf
    
    [root@wg etc]# cp php-fpm.d/www.conf.default php-fpm.d/www.conf
    [root@wg php-fpm.d]# egrep -v "^;|^$" www.conf
    [www]
    user = lamp
    group = lamp
    listen = 127.0.0.1:9000
    listen.backlog = 511
    pm = dynamic
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    pm.max_requests = 500
    
    [root@wg ~]# /usr/local/php7/sbin/php-fpm -t
    
    [root@wg ~]# cp /opt/php-7.4.27/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
    [root@wg ~]# vi /usr/lib/systemd/system/php-fpm.service
    | ProtectSystem=false
    | # sapi/fpm/init.d.php-fpm是centos6的启动脚本
    
    [root@wg ~]# systemctl daemon-reload
    [root@wg ~]# systemctl start php-fpm.service
    
    [root@wg ~]# lsof -i :80
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    httpd   35177 root    4u  IPv6 233314      0t0  TCP *:http (LISTEN)
    httpd   35180 lamp    4u  IPv6 233314      0t0  TCP *:http (LISTEN)
    httpd   35181 lamp    4u  IPv6 233314      0t0  TCP *:http (LISTEN)
    httpd   35182 lamp    4u  IPv6 233314      0t0  TCP *:http (LISTEN)
    
    [root@wg ~]# lsof -i :9000
    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    php-fpm 32077 root    6u  IPv4 226842      0t0  TCP localhost:cslistener (LISTEN)
    php-fpm 32078 lamp    8u  IPv4 226842      0t0  TCP localhost:cslistener (LISTEN)
    php-fpm 32079 lamp    8u  IPv4 226842      0t0  TCP localhost:cslistener (LISTEN)
    
    [root@wg ~]# lsof -i :3306
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    mysqld  2373 lamp   24u  IPv6  36853      0t0  TCP *:mysql (LISTEN)
    

    --- 配置指令详参 ---

    --prefix=/usr/local/php7                     // 安装路径
    --with-config-file-path=/usr/local/php/etc   // 配置文件路径
    --with-mysql=mysqlnd                         // mysql支持及客户端设置
    --enable-embedded-mysqli 
    --with-config-file-scan-dir=/usr/local/php7/etc/php.d
    --with-mysql-sock     
    --enable-pdo                                 // 开启php pdo(php数据对象的缩写—PHP Data Object)
    --with-pdo-mysql=mysqlnd
    --with-iconv-dir=/usr/bin/iconv              // 指定转码工具,各种字符集间的转换
    --enable-fpm                                 // 支持php-fpm,允许以服务的方式启动PHP
    --with-fpm-user=lamp
    --with-fpm-group=lamp                                
    --with-pcre-regex                            // 支持pcre正则表达式
    --with-zlib                                  // 支持压缩
    --with-bz2 
    --with-zlib-dir 
    --enable-zip                                   
    --enable-calendar                            // 支持日历
    --disable-phar   // PHAR("Php ARchive")是PHP里类似JAR的打包文件;PHP5.3及以上,Phar后缀文件默认开启支持。
    --with-curl                                  // 支持curl
    --enable-dba                                 // 开启dba函数支持
    --with-libxml-dir                            // 支持xml文件库对xml读取和查询
    --enable-ftp                                 // 支持ftp
    --with-gd --with-jpeg-dir --with-png-dir     // 支持图片
    --with-freetype-dir                          // 支持字库
    --enable-gd-jis-conv                         // 支持gd库
    --with-mhash --enable-mbstring               // 支持加密
    --enable-opcache=yes                         // 开启opcache
    --enable-pcntl                               // 开启PHP进程控制支持,默认关闭
    --enable-xml                                 // 允许xml文件
    --disable-rpath                              // 关闭额外的运行库文件
    --enable-shmop    // 开启Shmop 是一个易用的允许php读、写、创建和删除unix共享内存段的函数集
    --enable-sockets                             // 打开sockets支持
    --enable-bcmath                              // 增加bcmath扩展的支持,这是一个支持大数据计算的扩展
    --with-snmp                                  // 支持snmp
    --disable-ipv6                               // 关闭IPV6支持
    --with-gettext                               // 打开gnu的gettext支持、编码库用到
    --disable-debug                              // 关闭调试模式
    --with-apxs2=/usr/local/apache24/bin/apxs    // 支持以模块方式运行
    
  • 相关阅读:
    Linux 系统下 “账户管理”
    gulp添加版本号解决缓存问题
    vue3.0的proxy浅析内层绑定原理
    rem用font-size布局与easyui的datagrid通用,出现table不显示
    堆与栈 | 对象深浅拷贝
    vue双向绑定原理值Object.defineProperty
    bootstrap模态框不出,只出现黑色蒙层bug
    Appdelegate 导航操作
    CLLocationManager 位置定位
    导航创建
  • 原文地址:https://www.cnblogs.com/FGdeHB/p/15854269.html
Copyright © 2020-2023  润新知