今天因为研发需要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
终于成功了
相关推荐
3. **安装扩展**:编译成功后,使用`sudo make install`将编译后的扩展安装到PHP的扩展目录。 4. **配置php.ini**:编辑`php.ini`文件,在其中添加`extension=redis.so`(或根据实际文件名和系统设置做相应调整)。...
在本篇中,我们将详细讲解如何在 PHP 5.4.x 环境下安装并使用 PHP Redis 扩展,同时也会涉及 Redis 服务端的版本要求。 **一、Redis 服务端安装与配置** 在开始 PHP Redis 的安装前,你需要确保已经安装了 Redis ...
在PHP 5.4环境下安装`php_redis`扩展,首先需要确保你的系统已经安装了PHP和Redis服务器。然后,可以通过以下步骤安装扩展: 1. 下载`php_redis`源码包,例如从PECL官方库或GitHub获取。 2. 使用PHP的`phpize`工具...
2. **安装PHP5.4**:访问PHP官方网站,选择对应操作系统的PHP5.4版本下载,完成安装后将PHP配置文件`php.ini`加入到Apache的配置文件`httpd.conf`中。 3. **安装ImageMagick**:前往ImageMagick官方网站获取最新...
本文所提及的资源“php5.3-php5.4mongo扩展”正好解决了这个问题,它包含了适用于不同环境的预编译扩展,确保了在PHP 5.3和5.4版本下的可用性。 在提供的压缩包文件中,有四个不同版本的扩展: 1. ...
标题 "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(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,特别适用于Web开发,可以嵌入到HTML中使用。在PHP 5.4版本中,Alternative PHP Cache (APC)是一个非常重要的性能...
本文详细介绍了在Windows环境下如何编译PHP5.4和xdebug模块的全过程,对于希望在Windows系统上自行编译PHP环境的开发者来说,提供了宝贵的指导。在开始前,你需要准备好编译环境和相关的软件包,以下是编译所需的...
标题中的“php5.4.*ts版 php_phpredis.dll”指的是在PHP 5.4版本的一个线程安全(TS)构建中使用的扩展模块——php_phpredis.dll。这个扩展是专门为PHP设计的,允许PHP应用程序与Redis内存数据存储进行通信。Redis是...
PHP的amfext扩展,pecl.php.net上提供的0.9.2无法兼容php5.4+的版本,这个资源能确保amfext扩展在php5.4+的环境下编译成功。 本人分别在php5.4/5.5的生产环境中使用,一切正常,各位可以放心使用。
在Windows环境下编译PHP-beast扩展是一个较为复杂的过程,涉及到选择合适的编译器、设置编译环境、准备编译文件、以及执行具体的编译步骤。本文将详细说明如何在Windows系统中编译PHP-beast扩展,同时会提供必要的...
关于 PHP 5.4 Memcache 扩展包的安装和配置,首先你需要确保你的 PHP 环境已经搭建好,并且具备编译扩展的能力。通常,你可以通过以下步骤来安装: 1. **下载源代码**:访问 PHP 官方仓库或第三方资源,获取适合 ...
在本例中,文件名`php内核x86-ffmpeg6-php5.4-win32-vc9`表明这是一个针对32位Windows系统的VC9编译的PHP5.4 FFmpeg扩展。确保你的PHP环境也是32位且使用VC9编译器构建的。 2. **拷贝文件**:将下载的扩展文件解压...
10. 安装与升级:PHP5.4修订版可能简化了ECShop的安装和升级过程,降低了用户的技术门槛,使得非技术背景的商家也能轻松部署和维护在线商店。 总之,"ecshop(php5.4修订版)"是对原有ECShop系统的一次重大更新,充分...
**phpredis_5.4_vc9_nts扩展包详解** `phpredis`是PHP语言与Redis数据库进行交互的一个客户端库,它提供了丰富的API接口,使得开发者可以方便地在PHP环境中操作Redis。`phpredis_5.4_vc9_nts`是专为PHP 5.4版本、...
在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”表明这是一个关于PHP不同版本(5.2、5.3、5.4、5.5)的...安装后,通过编写PHP代码,可以利用Memcache扩展实现高效的缓存管理和数据处理。
"ZendLoader.dll支持PHP5.4.X" 这个标题指出 ZendLoader.dll 是一个与PHP 5.4版本兼容的组件。 ZendLoader 是 Zend Technologies 提供的一个核心扩展,它主要负责加载和执行经过 Zend Guard 加密的 PHP 代码。 **...
压缩包子文件“php 5.4 nts redis 安装包”可能包含了PHP 5.4 NTS版本以及Redis扩展的预编译文件,用户可以直接解压并配置以使用。在部署时,需要确保选择与PHP版本和编译器版本相匹配的Redis扩展,否则可能会出现...
3. **配置与安装**:在PHP 5.4中,wincache通常作为PECL扩展提供,可以通过`pecl install wincache`命令进行安装。安装完成后,需要在php.ini配置文件中启用wincache,通过设置`extension=wincache.dll`来加载该扩展...