cd php-5.5.10/
./configure --prefix=/usr/local/php --with-config-file-path=/etc/php --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-gd --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl
sudo make
sudo make install
sudo cp php.ini-development /etc/php/
php redis
http://www.runoob.com/redis/redis-php.html
https://github.com/phpredis/phpredis/releases
http://www.zixuephp.com/phpstudy/phphuanjing/20141124_4519.html
错误信息如下:
PHP Warning: PHP Startup: redis: Unable to initialize module
Module compiled with module API=20050922
PHP compiled with module API=20090626
These options need to match in Unknown on line 0
首先先说下这种错误出现的原因:
执行编译源码包执行phpize的版本与当前php环境中phpize的版本不一致造成的.
解决办法:
1、删除编译过的源码包 phpredis-master 以及对应目录中的redis.so 重新解压phpredis-master
2、检测/usr/sbin 目录下是否存在php php-config php-cgi phpize 文件,如果存在删除这些文件重新建立对应的软连接到这个目录
ln -s php /usr/local/php/bin/php
ln -s php-cgi /usr/local/php/bin/php-cgi
ln -s php-config /usr/local/php/bin/php-config
ln -s phpize /usr/local/php/bin/phpize
以上目录请以php的当前安装目录为准
3、重新进入phpredis-master目录进行安装即可.
php
./configure --prefix
各种参数详解
http://blog.csdn.net/niluchen/article/details/41513217
# 指定 PHP 安装目录
--prefix=/usr/local/php
# 指定php.ini位置
--with-config-file-path=/usr/local/php/etc
# MySQL安装目录,对mysql的支持
--with-mysql=/usr/local/mysql
mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
--with-mysqli=/usr/local/mysql/bin/mysql_config
整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-apxs2=/usr/local/apache/bin/apxs
# 选项指令 --with-iconv-dir 用于 PHP 编译时指定 iconv 在系统里的路径,否则会扫描默认路径。
--with-iconv-dir=/usr/local
--with-freetype-dir 打开对freetype字体库的支持
--with-jpeg-dir 打开对jpeg图片的支持
--with-png-dir 打开对png图片的支持
--with-zlib-dir 打开zlib库的支持,用于http压缩传输
--with-libxml-dir 打开libxml2库的支持
--disable-rpath 关闭额外的运行库文件
--enable-bcmath 打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-shmop --enable-sysvsem 这样就使得你的PHP系统可以处理相关的IPC函数了。
--enable-inline-optimization 优化线程
--with-curl 打开curl浏览工具的支持
--with-curlwrappers 运用curl工具打开url流
--enable-mbregex
--enable-fpm 打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-mbstring 多字节,字符串的支持
--with-mcrypt mcrypt算法扩展
--with-mhash mhash算法扩展
--with-gd 打开gd库的支持
--enable-gd-native-ttf 支持TrueType字符串函数库
--with-openssl openssl的支持,加密传输https时用到的
--enable-pcntl freeTDS需要用到的,可能是链接mssql 才用到
--enable-sockets 打开 sockets 支持
--with-xmlrpc 打开xml-rpc的C语言
--enable-zip 打开对zip的支持
--enable-ftp 打开ftp的支持
--with-bz2 打开对bz2文件的支持
--without-iconv 关闭iconv函数,字符集间的转换
--with-ttf 打开freetype1.*的支持,可以不加了
--with-xsl 打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext 打开gnu 的gettext 支持,编码库用到
--with-pear 打开pear命令的支持,PHP扩展用的
--enable-calendar 打开日历扩展功能
--enable-exif 图片的元数据支持
--enable-magic-quotes 魔术引用的支持
--disable-debug 关闭调试模式
--with-mime-magic=/usr/share/file/magic.mime 魔术头文件位置
CGI方式安装才用的参数
--enable-fastCGI 支持fastcgi方式启动PHP
--enable-force-CGI-redirect 重定向方式启动PHP
--with-ncurses 支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--with-gmp 应该是支持一种规范
--enable-dbase 建立DBA 作为共享模块
--with-pcre-dir=/usr/local/bin/pcre-config perl的正则库案安装位置
--disable-dmalloc
--with-gdbm dba的gdbm支持
--enable-sigchild
--enable-sysvshm
--enable-zend-multibyte 支持zend的多字节
--enable-wddx
--enable-soap
http://blog.csdn.net/clevercode/article/details/52198698
make如果出错,那么make clean然后再make
--with-mysql=/usr如果出错,那么直接--with-mysql即可
http://blog.csdn.net/yuanyuan_186/article/details/51296949
--with-mysql=/usr/include/mysql,这个参数应该不对,
把它改为
--with-mysql
或
--with-mysql=/usr
试试
因为你MYSQL是RPM装的,按系统路径来的
如果还是不行,再说
注意,每次重新预配置,先这样:
make clean
再重新预配置,进行编译
--with-mysql=/usr/include/mysql,这个参数应该不对,
把它改为
--with-mysql
或
--with-mysql=/usr
试试
因为你MYSQL是RPM装的,按系统路径来的
如果还是不行,再说
注意,每次重新预配置,先这样:
make clean
再重新预配置,进行编译
CleverCode以前使用的PHP是php5.2,下载升级为php5.5.29
1 下载php-5.5.29.tar.gz
http://download.csdn.NET/detail/clevercode/9602370
2 其它的安装都和 http://blog.csdn.Net/clevercode/article/details/45579837 安装相同。
不同的地方是。php5.5已经有自带的php-fpm。
与http://blog.csdn.net/clevercode/article/details/45579837不同地方。
4.5 安装PHP
1) 创建用户php-fpm使用的www用户。
# groupadd www #添加www组
# useradd -g www www -s /bin/false #创建nginx运行账户www并加入到www组,不允许www用户直接登录系统
2) 创建安装目录,缓存目录,日志目录
a) 安装目录
# mkdir -p /usr/local/php5
b) 缓存目录
# mkdir -p /tmp/phis
# chown www:www /tmp/phis -R
c)session目录,如果是负载均衡的多台服务器,需要共享session,session需要放入memcach中
# mkdir -p /tmp/session
# chown www:www /tmp/session -R
d)创建日志目录
# mkdir -p /data0/logs/php
# chown www:www /data0/logs/php -R
3)解压
确保已经安装mysql-devel 且生成/usr/lib64/mysql
64位系统中 libmysqlclient 默认安装到了 /usr/lib64/mysql/ 目录下
而php编译时是去/usr/lib目录下查找 因此要创建软连接
# ln -s /usr/lib64/mysql/libmysqlclient* /usr/lib
# /sbin/ldconfig
# cd /usr/local/src/php
# tar -xvpf php-5.5.29.tar.gz
5) 配置
# cd php-5.5.29
# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-mysql=/usr --with-mysqli=/usr/lib64/mysql/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear --with-pdo-mysql
6)编译
make ZEND_EXTRA_LIBS='-liconv'
7)安装
make install
4.7 配置PHP
不需要再配置php-fpm。在/usr/local/php5/sbin/php-fpm已经有了。
1)拷贝配置文件
# cp /usr/local/src/php/php-5.5.29/php.ini-development /usr/local/php5/etc/php.ini
2)删除系统自带配置文件
# rm -rf /etc/php.ini
3)添加软链接
# ln -s /usr/local/php5/etc/php.ini /etc/php.ini
#配置php命令
ln -s /usr/local/php5/bin/php /usr/bin/