今天因为研发需要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
终于成功了
相关推荐
PHP的amfext扩展,pecl.php.net上提供的0.9.2无法兼容php5.4+的版本,这个资源能确保amfext扩展在php5.4+的环境下编译成功。 本人分别在php5.4/5.5的生产环境中使用,一切正常,各位可以放心使用。
目前php最新版虽然是php5.5,但出于各种考虑,还是先升到php5.4比较靠谱。 原php使用的是php5.2.10,已经运行了4~5年了,是时候升级了。 5.4最新稳定版是5.4.21(14 Nov 2013发布了5.4.22…) 复制代码 代码如下: wget...
PHP5.2版本以下及PHP5.2、5.3、5.4、5.5、5.6的php memcache dll扩展,已经整理和编译好,非常方便使用
下载好后解压,将这两个文件放到php的所在文件夹下ext下(这里是所有扩展的窝) 然后编辑php.ini 添加 extension=php_igbinary.dll extension=php_redis.dll
◦PECL 扩展库安装 ◦还有问题? ◦运行时配置 •语言参考◦基本语法 ◦类型 ◦变量 ◦常量 ◦表达式 ◦运算符 ◦流程控制 ◦函数 ◦类与对象 ◦命名空间 ◦异常处理 ◦生成器 ◦引用的解释 ◦预定义变量 ◦预定义...
最新的php手册 2014年02月20号最后编译 by: Mehdi Achour Friedhelm Betz Antony Dovgal Nuno Lopes Hannes Magnusson Georg Richter Damien Seguy Jakub Vrana 其他贡献者 2014-02-20 Edited ...
所有的框架类, 不需要编译, 在PHP启动的时候加载, 并常驻内存. 更短的内存周转周期, 提高内存利用率, 降低内存占用率. 灵巧的自动加载. 支持全局和局部两种加载规则, 方便类库共享. 高性能的视图引擎. 高度灵活可...
PECL 扩展库安装 还有问题? 运行时配置 语言参考 基本语法 类型 变量 常量 表达式 运算符 控制结构 函数 类与对象 命名空间 异常处理 引用的解释 预定义变量 预定义异常 ...
PECL 扩展库安装 还有问题? 运行时配置 语言参考 基本语法 类型 变量 常量 表达式 运算符 流程控制 函数 类与对象 命名空间 异常处理 生成器 引用的解释 预定义变量 预定义异常 预定义接口 上下文(Context)选项和...
PECL 扩展库安装 还有问题? 运行时配置 语言参考 基本语法 类型 变量 常量 表达式 运算符 控制结构 函数 类与对象 命名空间 异常处理 引用的解释 预定义变量 预定义异常 预定义接口 Context options and parameters...
■PECL 扩展库安装 ■还有问题? ■运行时配置 ■语言参考■基本语法 ■类型 ■变量 ■常量 ■表达式 ■运算符 ■控制结构 ■函数 ■类与对象 ■命名空间 ■异常处理 ■引用的解释 ■预定义变量 ■预定义异常 ■...
适用于 PHP5.5 的 SQLServer PDO 扩展,微软官方目前只支持到 PHP5.4,这个是民间编译的非官方版本,包含四个文件:php_pdo_sqlsrv_55_nts.dll,php_pdo_sqlsrv_55_ts.dll,php_sqlsrv_55_nts.dll,...
■PECL 扩展库安装 ■还有问题? ■运行时配置 ■语言参考 ■基本语法 ■类型 ■变量 ■常量 ■表达式 ■运算符 ■流程控制 ■函数 ■类与对象 ■命名空间 ■异常处理 ■生成器 ■引用的解释 ■预定义变量 ■预定义...
•PECL 扩展库安装 •还有问题? •运行时配置 •语言参考•基本语法 •类型 •变量 •常量 •表达式 •运算符 •流程控制 •函数 •类与对象 •命名空间 •异常处理 •生成器 •引用的解释 •预定义变量 •预定义...
PHP快速读写excel文件扩展名还在开发中,请注意生产环境与 PHPExcel 比较第一个是 500 * 20 单元格的 .xls 文件 第二个是 60k * 20 单元格的 .xls 文件要求PHP 5.4+安装可以从github克隆项目并编译安装。 $ git ...
5.5:PHP Meminfo v1.0.5(可能适用于PHP 5.3和PHP 5.4,但未经测试) 编译说明 汇编 从extension目录的根目录: $ phpize $ ./configure --enable-meminfo $ make $ make install 启用扩展 php.ini下行添加到您的...
一、首先查看phpinfo() 信息 PHP Version 5.4.34 Zend Extension Build API220100525,TS,VC9 PHP Extension Build API20100525,TS,VC9 Thread Safety enable ...php编译后的程序和编译前的源码(下载地址:http://win
编译步骤: 复制代码 代码如下: git clone git://github.com/zend-dev/ZendOptimizerPlus.git cd ZendOptimizerPlus $PHP_DIR/bin/phpize ./configure \ –with-php-config=$PHP_DIR/bin/php-config make && make ...
本文实例讲述了php加速缓存...PHP 5.5.0 及后续版本中已经绑定了 opcache 扩展。 对于 PHP 5.2,5.3 和 5.4 版本可以使用PECL扩展中的 opcache 库。 windows下的php扩展下载地址: http://windows.php.net/downloads/p
由于公司这块项目需要和java对接的一些东西 又不想用webservice 所以弄了个php模块 折腾了好长时间...解压缩php-java-bridge,进入php-java-bridge的目录,将php-java-bridge编译成php的扩展 tar -xzf php-java-brid