木子设计

LZG个人博客

本人专注于web领域开发,博客主要记录学习php/html/css/javascript,框架Yaf/Laravel/TP/CI,Linux及一些常用工具过程中遇到的问题及解决心得,希望对技术推广及他人学习提供薄力。

apache + php 编译安装

发布时间:2016-08-28 15:40:32

1、Apache安装需要的包及依赖有:httpd包/apr/apr-util/pcre,安装过程,先编译apr/apr-util/pcre;再编译httpd,编译httpd的时候要把apr/apr-util的包放到httpd包目录下srclib/apr,编译参数:
 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre --enable-mods-shared=most --enable-so(这个是安装php支持用的)

安装完成后将起动文件复制到/etc/init.d/下
 cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

这时就可以启动看一下了,启动后页面显示is work
记得开启伪静态支持(rewrite.so)及加载vhost.conf

2、编译Php,这就是个大坑,各种参数设置。


 ./configure --with-apxs2=/usr/local/apache/bin/apxs \ [libphp7.so/apache对php的支持,安装完成后要在apache的配置文件中加入
AddType application/x-httpd-php .php]
--prefix=/usr/local/php \ [安装位置]
--exec-prefix=/usr/local/php \
--bindir=/usr/local/php/bin \
--sbindir=/usr/local/php/sbin \
--includedir=/usr/local/php/include \
--libdir=/usr/local/php/lib/php \
--mandir=/usr/local/php/php/man \
--with-config-file-path=/usr/local/php/etc \
--with-mysql-sock=/var/run/mysql/mysql.sock \
--with-mcrypt=/usr/include \
--with-mhash \
--with-openssl \
--with-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-opcache \
--enable-fpm \
--enable-fastcgi \
--without-gdbm \
--with-fpm-user=apache \
--with-fpm-group=apache \
--disable-fileinfo \


这里边有各种库啊什么的gd,gd2,mysql,mysqli

安装完成后把php.ini复制到安装目录中去,开始配置php

可以参考这里 https://typecodes.com/web/centos7compilephp7.html

https://webtatic.com/packages/php70/

完整版参数介绍
PHP ./configure允许配置的选项,列表如下(部分参数未得到解释)
 --prefix                    : 指定 php 安装目录
--with-apxs2                : 整合 Apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 Apache,要求 Apache 要打开SO模块
--with-config-file-path      : 指定php.ini位置
--with-mysql                : mysql安装目录,对mysql的支持。例--with-mysql=/usr/local/mysql
--with-mysqli                : mysqli扩展技术支持不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。例--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-iconv-dir            : 选项指令,用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。例--with-iconv-dir=/usr/local
--with-freetype-dir          : 打开对freetype字体库的支持
--with-jpeg-dir              : 打开对jpeg图片的支持
--with-png-dir              : 打开对png图片的支持
--with-zlib-dir              : 打开zlib库的支持,用于http压缩传输
--with-libxml-dir            : 打开libxml2库的支持
--disable-rpath              : 关闭额外的运行库文件
--enable-bcmath              : 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-shmop              : 这样就使得你的PHP系统可以处理相关的IPC函数了。和--enable-sysvsem一起使用
--enable-sysvsem            : 这样就使得你的PHP系统可以处理相关的IPC函数了。和--enable-shmop一起使用
--enable-inline-optimization : 优化线程
--with-curl                  : 打开curl浏览工具的支持
--with-curlwrappers          : 运用curl工具打开url流
--enable-mbregex            :
--enable-fpm                : 打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-mbstring            : 多字节,字符串的支持
--with-mcrypt                : mcrypt算法扩展
--with-mhash                : mhash算法扩展
--with-gd                    : 打开gd库的支持
--enable-gd-native-ttf      : 支持TrueType字符串函数库
--with-openssl              : openssl的支持,加密传输https时用到的
--enable-pcntl              : freeTDS需要用到的,可能是链接mssql 才用到
--enable-sockets            : 打开 sockets 支持
--with-xmlrpc                : 打开xml-rpc的c语言
--enable-zip                : 打开对zip的支持
--enable-ftp                : 打开ftp的支持
--with-bz2                  : 打开对bz2文件的支持
--without-iconv              : 关闭iconv函数,字符集间的转换
--with-ttf                  : 打开freetype1.*的支持,可以不加了
--with-xsl                  : 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext              : 打开gnu 的gettext 支持,编码库用到
--with-pear                  : 打开pear命令的支持,PHP扩展用的
--enable-calendar            : 打开日历扩展功能
--enable-exif                : 图片的元数据支持
--enable-magic-quotes        : 魔术引用的支持
--disable-debug              : 关闭调试模式
--with-mime-magic            : 魔术头文件位置。例--with-mime-magic=/usr/share/file/magic.mime


CGI方式安装才用的参数
 --enable-fastCGI            : 支持fastcgi方式启动PHP
--enable-force-CGI-redirect  : 重定向方式启动PHP
--with-ncurses              : 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--with-gmp                  : 应该是支持一种规范
--enable-dbase              : 建立DBA 作为共享模块
--with-pcre-dir              : perl的正则库案安装位置。例--with-pcre-dir=/usr/local/bin/pcre-config
--disable-dmalloc            :
--with-gdbm                  : dba的gdbm支持
--enable-sigchild            :
--enable-sysvshm            :
--enable-zend-multibyte      : 支持zend的多字节
--enable-wddx                :
--enable-soap                :