`
phpseyo
  • 浏览: 158678 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

编译php5.4及安装后添加扩展

    博客分类:
  • PHP
阅读更多

今天因为研发需要php5.4 没有相应的RPM包,所以只能下载源码包编译了

下载php5.4包:wget http://cn2.php.net/get/php-5.4.8.tar.gz/from/this/mirror

tar zxvf php-5.4.8.tar.gz

php模块最好不要在编译的时候安装进去,以免日后升级麻烦,

./configure --prefix=/usr/local/webserver/php \
        --with-zlib \
        --with-mysql=/data/mysql \
        --with-jpeg-dir=/usr/local/jpeg \
        --with-png-dir=/usr/local/libpng \
        --with-freetype-dir=/usr/local/freetype \
        --with-libexpat-dir \
        --with-iconv \
        --with-ttf \
        --with-curl \
        --with-curlwrappers \
    --disable-sqlite \
        --enable-gd-native-ttf \
        --enable-mbstring \
        --enable-sockets \
        --enable-fastcgi \
        --enable-force-cgi-redirect \
        --enable-discard-path \
        --enable-safe-mode \
        --enable-sysvsem \
        --enable-sysvshm \
        --enable-sysvmsg \
        --enable-inline-optimization \
        --disable-xmlreader \
        --disable-debug \
        --disable-rpath \
    --disable-libxml \
    --disable-dom \
    --disable-pdo \
    --disable-simplexml \
    --disable-xml \
    --disable-xmlwriter \
        --without-pear \
        --enable-fpm \
        --with-fpm-user=nobody \
        --with-fpm-group=nobody \
        --with-fpm-log=/var/log/php-fpm.log \
        --with-fpm-pid=/var/run/php-fpm/php-fpm.pid

途中遇到configure: error: Cannot find libz 解决办法

yum install zlib.x86_64

yum install zlib-devel.x86_64

再次编译遇到:configure: error: Please reinstall the libcurl distribution - easy.h should 解决办法

yum -y install curl-devel

这次编译总算是成功了

make &&make install

当你对./configurg 后面的参数不太了解的时候,可以用./configurg --help看看,里面有比较详细的说明

拷贝php.ini-production 到php目录:cp php.ini-production  /usr/local/webserve/php/lib/php.ini

修改php/etc/php-fpm配置文件:mv php-fpm.conf.default php-fpm.conf

安装扩展pdo_mysql

这个一般在PHP源码包里面会有这个扩展:一般在./ext/pdo_mysql/目录下

cd /php5.4/ext/pdo_mysql/

/usr/local/webserver/php/bin/phpize

提示Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

缺少autoconf

这个包是用来自动配置源码的 GNU 工具。要不然pdo_mysql目录下不会生成configure文件

再次使用一切正常:/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-config=/data/mysql/bin/mysql_config

又遇到错误了:configure: error: Cannot find php_pdo_driver.h.

找了一下资料,没发现有人遇到过这种问题,用locate php_pdo_driver.h 发现在pdo模块目录上有,查了一下资料发现,要安装pdo_mysql必须先安装pdo模块,好吧,先装pdo模块吧

cd  php5.4/ext/pdo/

/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config  --enable-pdo=shared

make &&make install

cd php5.4/ext/pdo_mysql/

/usr/local/webserver/php/bin/phpize

./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/data/mysql/bin/mysql_config

make &&make install

编译成功后会看到php安装目录下出现了扩展模块的目录

交以下几行添加至php/lib/php.ini 文件上

extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/"
extension=pdo.so
extension=pdo_mysql.so
extension=memcache.so

[root@localhost yum.repos.d]# php -m
[PHP Modules]
Core
ctype
curl
date
ereg
fileinfo
filter
hash
iconv
json
mbstring
memcache
mysql
pcre
PDO
pdo_mysql
Phar
posix
Reflection
session
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
zlib

[Zend Modules]

或者:/usr/local/webserver/php/bin/php -r "phpinfo();"|grep -i pdo_mysql

终于成功了

 

转 http://198555.blog.51cto.com/188555/1063199

分享到:
评论

相关推荐

    PHP5.4redis 扩展文件

    3. **安装扩展**:编译成功后,使用`sudo make install`将编译后的扩展安装到PHP的扩展目录。 4. **配置php.ini**:编辑`php.ini`文件,在其中添加`extension=redis.so`(或根据实际文件名和系统设置做相应调整)。...

    php-redis5.4.x扩展文件和服务端文件

    在本篇中,我们将详细讲解如何在 PHP 5.4.x 环境下安装并使用 PHP Redis 扩展,同时也会涉及 Redis 服务端的版本要求。 **一、Redis 服务端安装与配置** 在开始 PHP Redis 的安装前,你需要确保已经安装了 Redis ...

    php5.4 redis扩展

    在PHP 5.4环境下安装`php_redis`扩展,首先需要确保你的系统已经安装了PHP和Redis服务器。然后,可以通过以下步骤安装扩展: 1. 下载`php_redis`源码包,例如从PECL官方库或GitHub获取。 2. 使用PHP的`phpize`工具...

    Apache+php5.4和IIS+php5.4环境下安装imagick

    2. **安装PHP5.4**:访问PHP官方网站,选择对应操作系统的PHP5.4版本下载,完成安装后将PHP配置文件`php.ini`加入到Apache的配置文件`httpd.conf`中。 3. **安装ImageMagick**:前往ImageMagick官方网站获取最新...

    php5.3-php5.4mongo扩展

    本文所提及的资源“php5.3-php5.4mongo扩展”正好解决了这个问题,它包含了适用于不同环境的预编译扩展,确保了在PHP 5.3和5.4版本下的可用性。 在提供的压缩包文件中,有四个不同版本的扩展: 1. ...

    php_redis.dll for php5.4 ntf ( redis 和php扩展及php配置文件 )

    标题 "php_redis.dll for php5.4 ntf ( redis 和php扩展及php配置文件 )" 描述的是一个专为PHP 5.4版本编译的NTF(可能指的是NTFS文件系统)环境准备的Redis扩展。这个扩展使得PHP能够与Redis数据库进行交互,Redis...

    php 5.4 apc扩展 dll文件

    **PHP 5.4 APC 扩展 DLL 文件详解** PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别适用于Web开发,可以嵌入到HTML中使用。在PHP 5.4版本中,Alternative PHP Cache (APC)是一个非常重要的性能...

    Windows下编译PHP5.4和xdebug全记录

    本文详细介绍了在Windows环境下如何编译PHP5.4和xdebug模块的全过程,对于希望在Windows系统上自行编译PHP环境的开发者来说,提供了宝贵的指导。在开始前,你需要准备好编译环境和相关的软件包,以下是编译所需的...

    php5.4.*ts版 php_phpredis.dll

    标题中的“php5.4.*ts版 php_phpredis.dll”指的是在PHP 5.4版本的一个线程安全(TS)构建中使用的扩展模块——php_phpredis.dll。这个扩展是专门为PHP设计的,允许PHP应用程序与Redis内存数据存储进行通信。Redis是...

    amfext-for-php5.4+ (amf扩展, php扩展, amfphp)

    PHP的amfext扩展,pecl.php.net上提供的0.9.2无法兼容php5.4+的版本,这个资源能确保amfext扩展在php5.4+的环境下编译成功。 本人分别在php5.4/5.5的生产环境中使用,一切正常,各位可以放心使用。

    windows下编译php­beast扩展

    在Windows环境下编译PHP-beast扩展是一个较为复杂的过程,涉及到选择合适的编译器、设置编译环境、准备编译文件、以及执行具体的编译步骤。本文将详细说明如何在Windows系统中编译PHP-beast扩展,同时会提供必要的...

    php5.4 memcache 扩展包

    关于 PHP 5.4 Memcache 扩展包的安装和配置,首先你需要确保你的 PHP 环境已经搭建好,并且具备编译扩展的能力。通常,你可以通过以下步骤来安装: 1. **下载源代码**:访问 PHP 官方仓库或第三方资源,获取适合 ...

    php5.4版本ffmpeg扩展

    在本例中,文件名`php内核x86-ffmpeg6-php5.4-win32-vc9`表明这是一个针对32位Windows系统的VC9编译的PHP5.4 FFmpeg扩展。确保你的PHP环境也是32位且使用VC9编译器构建的。 2. **拷贝文件**:将下载的扩展文件解压...

    ecshop(php5.4修订版)

    10. 安装与升级:PHP5.4修订版可能简化了ECShop的安装和升级过程,降低了用户的技术门槛,使得非技术背景的商家也能轻松部署和维护在线商店。 总之,"ecshop(php5.4修订版)"是对原有ECShop系统的一次重大更新,充分...

    phpredis_5.4_vc9_nts扩展包

    **phpredis_5.4_vc9_nts扩展包详解** `phpredis`是PHP语言与Redis数据库进行交互的一个客户端库,它提供了丰富的API接口,使得开发者可以方便地在PHP环境中操作Redis。`phpredis_5.4_vc9_nts`是专为PHP 5.4版本、...

    PHP 5.4 使用的 memcache

    在PHP 5.4中,为了启用这个扩展,你需要将`php_memcache.dll`添加到PHP的`extension_dir`目录,并在`php.ini`配置文件中激活扩展,通常是通过取消`extension=php_memcache.dll`行前的分号(;)来实现。重启PHP服务后...

    PHP5.2、5.3、5.4、5.5的memcache dll扩展下载 php_memcache.dll

    标题中的“PHP5.2、5.3、5.4、5.5的memcache dll扩展下载 php_memcache.dll”表明这是一个关于PHP不同版本(5.2、5.3、5.4、5.5)的...安装后,通过编写PHP代码,可以利用Memcache扩展实现高效的缓存管理和数据处理。

    ZendLoader.dll支持PHP5.4.X

    "ZendLoader.dll支持PHP5.4.X" 这个标题指出 ZendLoader.dll 是一个与PHP 5.4版本兼容的组件。 ZendLoader 是 Zend Technologies 提供的一个核心扩展,它主要负责加载和执行经过 Zend Guard 加密的 PHP 代码。 **...

    php 5.4 vc9 nts 版本redis 与 igbinary

    压缩包子文件“php 5.4 nts redis 安装包”可能包含了PHP 5.4 NTS版本以及Redis扩展的预编译文件,用户可以直接解压并配置以使用。在部署时,需要确保选择与PHP版本和编译器版本相匹配的Redis扩展,否则可能会出现...

    PHP 5.4 wincache.dll

    3. **配置与安装**:在PHP 5.4中,wincache通常作为PECL扩展提供,可以通过`pecl install wincache`命令进行安装。安装完成后,需要在php.ini配置文件中启用wincache,通过设置`extension=wincache.dll`来加载该扩展...

Global site tag (gtag.js) - Google Analytics