首先要下载到apache的源码包,这里我选择下载的是httpd-2.4.25.tar.gz:
wget http://apache.fayea.com/httpd/httpd-2.4.25.tar.gz
下载apr:
wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
下载apr-utile:
wget http://mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz
下载pcre:
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz
安装编译环境:
yum install -y gcc make gcc-c++
1、安装apr
tar zxf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/data/server/apr
make
make install
2、安装apr-utile
tar zxf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/data/server/apr-util --with-apr=/data/server/apr
make
make install
tar zxf pcre-8.40.tar.gz
cd pcre-8.40
3、安装pcre:
./configure
make
make install
4、安装httpd
tar zxf httpd-2.4.25.tar.gz
cd httpd-2.4.25
./configure --prefix=/data/server/apache --with-apr=/data/server/apr --with-apr-util=/data/server/apr-util --with-pcre=/data/server/pcre
make
make install
接下来可以编译安装php了:
1、安装依赖:php编译时要安装超级多的依赖包,因为php要调用很多库。
yum -y install libxml2-devel libcurl libcurl-devel libmcrypt libmcrypt-devel libpng libpng-devel libjpeg libjpeg-devel gcc gcc-c++ freetype-devel glib2-devel cairo-devel openssl openssl-devel openldap openldap-devel
再加一个网上找到的:
yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
2、下载php源码包:http://php.net/get/php-5.6.30.tar.gz/from/a/mirror,可以选择一个下载,我选择的:
wget http://am1.php.net/get/php-5.6.30.tar.gz/from/this/mirror
因为网址跟了参数,所以修改一下文件名吧:mv mirror.2 php-5.6.30.tar.gz
编译安装php是一个最漫长的过程,也最容易缺少依赖包:
tar zxf php-5.6.30.tar.gz
cd php-5.6.30
./configure --prefix=/data/server/php \
--enable-pdo --with-pdo-mysql --enable-mysqlnd \
--with-mysql=/data/server/mysql --with-mysqli=/data/server/mysql/bin/mysql_config \
--with-freetype-dir --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf \
--with-config-file-path=/data/server/php/etc \
--with-openssl --with-mhash \
--enable-fpm --enable-sysvsem --enable-sockets --enable-pcntl --enable-mbstring \
--enable-opcache --enable-shmop --enable-zip --with-mcrypt \
--with-zlib --enable-zip --with-curl \
--with-pcre-dir=/data/server/pcre \
--with-fpm-user=www --with-fpm-group=www
make
make install
准备配置文件:
cp /data/server/php/etc/php-fpm.conf.default /data/server/php/etc/php-fpm.conf
修改apache配置文件,设置php-fpm为php代理:
vim /data/server/apache/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
把这两行前面的#号去掉,然后最下面增加如下配置:
ServerName 127.0.0.1
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
修改apache默认运行用户为www
User www
Group www
准备默认网站路径:
mkdir -p /data/web/www/localhost
启动apache:
/data/server/apache/bin/apachectl start
启动php-fpm:
/data/server/php/sbin/php-fpm
一切OK:
vim /data/server/apache/htdocs/index.php
<?php
phpinfo();
保存退出看效果吧。
配置apache,允许.htaccess文件:
去掉如下一行的注释:
LoadModule rewrite_module modules/mod_rewrite.so
另外:
<Directory />
AllowOverride All
Require all denied
</Directory>
安装php-memcache扩展:
http://pecl.php.net/package/memcache 下载扩展:
wget http://pecl.php.net/get/memcache-3.0.8.tgz
tar zxf memcache-3.0.8.tgz
cd memcache-3.0.8
/data/server/php/bin/phpize
./configure --enable-memcache --with-php-config=/data/server/php/bin/php-config --with-zlib-dir
make
make install
这时候看到:
Installing shared extensions: /data/server/php/lib/php/extensions/no-debug-non-zts-20131226/
这个目录就是php扩展的目录。当然从phpinfo中也能看到:
附注apache和php-fpm重启脚本:
/data/server/apache/bin/apachectl -k restart
ps aux | grep php-fpm | grep master | awk '{print $2}' | xargs kill -SIGUSR2
万一编译php的时候忘记了gd库,找到自己安装的php版本的php源码,进入ext目录,比如我这次这个:
cd php-5.6.30/ext/gd
./configure --with-php-config=/data/server/php/bin/php-config --with-jpeg-dir --with-freetype-dir
make
make install
然后在php.ini中增加一行:
extension=gd.so
另外,拷贝php到别的主机,也要把依赖的一些库安装好,就是上面的yum安装的。
相关推荐
CentOS 7 编译安装 PHP 7 并使用 PHP-FPM 连接 Apache 的知识点包括了以下几个方面: 1. **准备工作**: 在进行编译安装之前,确保系统已经安装了开发工具包,例如 GCC,以及 Apache 的开发包 httpd-devel,因为...
解压完成后,如果是一个源码包,还需要通过`./configure`,`make`,`make install`等步骤来编译和安装。然而,由于这里提到的是通过yum进行安装,所以解压后应该直接可以使用`yum install`命令进行下一步操作。 在...
### 如何在CentOS 6上为Virtualmin配置PHP-FPM 5.x和Apache 2.4.x 本文将详细介绍如何在CentOS 6系统上为Virtualmin配置PHP-FPM 5.x和Apache 2.4.x。通过这种方式,我们可以显著提高Web服务器的性能,并实现更高效...
在IT行业中,CentOS是一个广泛使用的Linux发行版,尤其在服务器领域...在压缩包中的`CentOs编译PHP环境.docx`文件,很可能会包含更详细的步骤、注意事项以及可能遇到的问题及解决方案,建议查阅该文档以获取更多信息。
解压并按照特定顺序进行编译和安装。例如,对于JPEG库,执行`./configure`、`make`、`make install clean`来构建和安装。同样的流程也适用于Libmcrypt。 然后,进入PHP5的源码目录,使用`./configure`命令配置编译...
完成配置后,进行编译、测试和安装: ```bash # make # make test # make install ``` 为了安装xcache,我们需要回到根目录并解压xcache源码包: ```bash # cd .. # tar -xf xcache-3.2.0.tar.bz2 # cd xcache-...
通过这种方法,你可以快速地在CentOS上的PHP环境中启用pgsql和pdo_pgsql扩展,无需编译源代码。然而,这种方法适用于已有.so文件的情况,如果无法找到对应版本的.so文件,可能需要从源代码编译安装。请记住,始终...
注意,这只是一个基础安装过程,实际生产环境中可能还需要配置Nginx或Apache等Web服务器与PHP-FPM集成,以及调整其他安全和性能相关的设置。此外,为了保持系统的安全性,建议定期更新PHP及其相关组件,防止潜在的...
在CentOS 5.5操作系统中,安装Nginx、PHP和MySQL的组合是一个常见的任务,这个过程可以分为几个关键步骤。以下是一个详细的指南,涵盖了从安装基础环境到配置服务的整个过程。 首先,我们需要确保系统中安装了必要...
以上步骤详细介绍了在 CentOS 5.2 系统上如何从源码安装 Apache、MySQL 和 PHP,并完成相应的配置。这为运行 PHP 应用程序提供了一个完整的环境。需要注意的是,实际部署过程中还需根据具体需求调整配置文件,确保...
3. 配置并编译Apache: ``` ./configure --prefix=/usr/local/apache \ --enable-deflate \ --enable-expires \ --enable-headers \ --enable-modules=most \ --enable-so \ --with-mpm=worker \ --enable-...
本文将详细介绍在基于CentOS的Linux环境中如何编译安装PHP 7.4.25。 首先,为了成功编译安装PHP 7.4.25,你需要确保系统上已经安装了必要的依赖库。这些通常包括: 1. **GCC**:GNU Compiler Collection,用于编译...
3. **Autoconf** 和 **Automake**:自动化配置工具,帮助处理源代码的编译和安装步骤。 4. **Libtool**:管理外部库的链接和版本控制。 5. **pkg-config**:查询库信息的工具,帮助正确配置编译选项。 6. **Zlib** ...
在本文档中,我们将深入探讨如何在CentOS 6操作系统上编译安装LAMP(Linux、Apache、MySQL、PHP)环境。LAMP是构建Web服务器的流行组合,它为开发和运行动态网站提供了基础。以下是详细的步骤: 1. **安装必要依赖*...
在本文档中,我们将详细介绍如何在 CentOS 系统上搭建 Nginx 服务器,并与 PHP 5.4.10 和 PostgreSQL 数据库集成。这个过程适用于那些希望在 CentOS 上快速建立一个高性能、稳定的 Web 服务环境的用户。 首先,为了...
配置完成后,进行编译和安装: ```bash make && sudo make install ``` **四、配置PHP-FPM** PHP-FPM(FastCGI Process Manager)是PHP的一个扩展,用于处理FastCGI接口。安装后,需要创建并编辑配置文件: ```...
本文将详细解析如何在CentOS 6.0上通过编译安装Nginx、Mysql、PHP以及Zend Optimizer的过程,旨在为开发者提供一个高效、简洁的Web服务环境搭建指南。 #### Nginx:小巧而高效的Web服务器 Nginx是一款由Igor ...
在 CentOS 下构建 PHP 运行环境,通常包括安装 Apache、MySQL 和 PHP 组件,这一组合也常被称为 LAMP (Linux, Apache, MySQL, PHP)。本文将详细介绍如何在 CentOS 7 64位系统上搭建 PHP 运行环境,并通过具体的步骤...
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysql=...