服务器运行一段时间后,可能突然会需求添加某个扩展,如curl、pdo、xmlrpc等,这就需要在不重新编译PHP的情况下独立添加扩展。
下面以安装curl为例,介绍具体安装步骤。(以下的安装,是基于php源码包安装的,且安装路径是在/usr/local/php,Apache源码编译安装)
1.安装crul服务
wget http://curl.haxx.se/download/curl-7.19.6.tar.gz
tar -zxvf curl-7.19.6.tar.gz
cd curl-7.19.6
./configure --prefix=/usr/local/curl
make
make install
2.编译生成扩展(也就是生成so文件):进入php源程序目录(非安装目录)中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:
cd curl
执行phpize生成编译文件,phpize在PHP安装目录的bin目录下(具体可使用 whereis phpize 这个命令来查看)
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.“,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)
生成配置文件,并编译生成模块:
/usr/local/php5/bin/phpize
./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php5/bin/php-config
make
make install
这样,curl.so就被复制到PHP对应目录,该目录可通过phpinfo中的extension_dir来查看(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/)
3.修改配置在php.ini里,设置扩展目录:(系统默认)
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"
并添加扩展模块引用:
extension = curl.so
4.检查并重启Apache
/usr/local/php/bin/php -v
执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查。
总结:php不重新编译的情况下安装扩展模块的步骤可分为3步:
第一步:安装该扩展模块需要的服务,例如上面的curl,必须先安装了curl服务才行,也就是说该步骤不是必须的,需要看情况
第二步:安装扩展模块,也就是将编译安装好的so文件放到php对应的模块so文件目录中,无论你的php是源码安装还是yum安装的,都有对应的专门存放php扩展模块so文件的目录,可通过phpinfo()来查看,其中,编译安装php的这些模块的一般步骤是进入php源码包中的ext目录相应的扩展文件目录中,然后使用php的phpize和php-config这2个执行文件命令来编译安装
第三部:在配置文件中加载该模块,这个配置文件加载跟httpd服务的类型有关系,例如Apache和nginx的操作就不同了,具体看情况
相关推荐
在X64 Linux CentOS系统中,手动编译安装PHP环境是一项复杂的任务,涉及到多个依赖库的安装和配置。首先,我们需要确认系统的位数,可以通过运行`getconf LONG_BIT`命令来查看,如果是64位系统,它将返回64。 在...
在本文中,我们将深入探讨如何在CentOS 7操作系统上通过源代码编译来安装Apache 2.4、MySQL 5.6和PHP 7.1。这个过程对于那些希望自定义软件配置或在没有预装包的环境中部署这些服务的系统管理员来说非常有用。 首先...
在CentOS 6.3系统中编译安装Nginx、PHP以及MySQL是一项涉及多个步骤的任务,包括系统配置、源码包的下载、安装必要的编译工具和依赖库、编译源码以及配置和启动服务。以下是根据提供的文件内容整理的知识点。 1. ...
在本教程中,我们将详细介绍如何在CentOS 6.2操作系统上编译安装Apache 2.4.1、MySQL 5.5.21和PHP 5.3.10。这个过程通常被称为LAMP(Linux、Apache、MySQL、PHP)堆栈的搭建,是Web开发和服务器管理的基础。 首先,...
### Centos环境下安装curl #### 一、概述 在Linux环境下安装配置curl是非常常见的操作,尤其是在...通过以上步骤,即可在Centos环境下成功安装并配置curl,使得PHP能够支持curl功能,为后续的开发工作提供了便利。
在IT行业中,构建高效稳定的Web服务器环境是至关重要的。...以上就是关于“CentOS上的Nginx+PHP的FastCGI模式编译安装”的详细步骤和涉及的知识点。在实际操作中,还需要根据具体的系统环境和应用需求进行适当的调整。
在本教程中,我们将详细介绍如何在CentOS 7操作系统中编译安装LNMP(Linux、Nginx、MariaDB和PHP)环境。首先,确保你的系统是最新的CentOS 7 x86_64版本。这个过程对于那些需要最新软件版本以满足特定项目需求的IT...
在CentOS 6.5上,可以使用`yum`命令来安装这些基本的开发工具,例如: ```bash yum -y install gcc gcc-c++ automake autoconf libtool glibc make mcrypt ``` 接下来,我们将依次安装LNMP的各个组件: 1. **...
CentOS系统中安装配置Apache+PHP+MySQL环境 本文档旨在指导用户在CentOS系统中安装配置Apache...本文档提供了在CentOS系统中安装配置Apache、PHP和MySQL环境的详细步骤和配置参数,旨在帮助用户快速搭建Web开发环境。
CentOS 7 编译安装 PHP 7 并使用 PHP-FPM 连接 Apache 的知识点包括了以下几个方面: 1. **准备工作**: 在进行编译安装之前,确保系统已经安装了开发工具包,例如 GCC,以及 Apache 的开发包 httpd-devel,因为...
### CentOS 源码编译 PHP5 mcrypt 模块步骤详解 在 CentOS 系统中,如果服务器安装的是 PHP5.3 版本,并且需要使用 mcrypt 扩展,但该扩展并未包含在系统预装的 PHP 源码中时,就需要通过源码编译的方式来手动安装 ...
除了上述基本步骤,CentOS 7编译安装PHP 7.1的过程中还可能需要安装一些其他依赖,例如ncurses、gdbm、db4、libXpm、libX11、gmp等,这些依赖主要用于增强PHP的功能,如提供图形界面支持、数据库支持等。 总结起来...
本教程将详细介绍如何在Red Hat 7或CentOS 7及其以上版本上,通过源码编译的方式,一键部署Zabbix包括Proxy组件,并集成LNMP(Linux + Nginx + MySQL + PHP)环境。这种方式的好处在于能够灵活地定制配置,适应特定...
在本文中,我们将深入探讨如何在CentOS 5.2操作系统上安装PHP 5.0.4以及eAccelerator这个高性能的PHP缓存和优化器。eAccelerator能够显著提升PHP应用的运行效率,减少服务器负载,对于处理大量并发请求的网站来说尤...
文章中提到了几个步骤,包括解压和编译jpegsrc.v6b、libpng、freetype、zlib和gd库,并将它们安装到系统目录。 2. **安装Apache2**:Qmail通常与Web服务器一起工作,用于提供Webmail服务。文章中选择了Apache2作为...
在本文中,我们将深入探讨如何在CentOS 6.0最小化安装环境下,手动编译安装Nginx、MySQL、PHP以及Zend Optimizer。这个过程对于理解这些软件的工作原理、自定义配置以及优化性能非常有帮助。以下是详细的步骤: 1. ...
在本教程中,我们将详细探讨如何在CentOS 5.5操作系统上手动安装PHP环境,这是一个涉及多个依赖库和软件的复杂过程。首先,确保你的系统已经安装了必要的编译工具,包括`ntp`, `vim-enhanced`, `gcc`, `gcc-c++`, `...