PHP
     分类:Dev     有: 0 条评论

PHP

     分类:Dev     有: 0 条评论

PHP版本升级

如果是yum安装的直接升级,或者先一处再安装就好了。
如果是源码安装,需要知道安装目录。另外用php检测代码检测安装了哪些模块(开头能看到编译参数),避免升级后有些模块没了,添加、减少模块也是如此,编译时注意修改参数。

# 检测代码
<?php
phpinfo();
?>

我这里需要在gd库中安装freetype支持(源于无法显示验证码,所以才有此次修改),原来是有gd库的,freetype是用yum安装的,安装的默认目录在/usr/include/freetype2/freetype/下,但是用检测代码检查是没有开启freetype支持的。所以要重新编译php。

# 下载新版本的php源码,解压。
./configure \
--enable-soap \
--with-pear \
--disable-short-tags \
--with-curl \
--with-iconv \
--with-zlib \
--with-libxml-dir \
--enable-xml \
--enable-mbstring \
--enable-sockets \
--with-gd \
--enable-gd-native-ttf \
--with-xmlrpc \
--enable-fpm \
--with-mhash \
--with-jpeg-dir \
--with-png-dir \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-mcrypt \
--enable-exif \
--enable-zip \
--with-xsl \
--enable-calendar \
# 指定安装目录,就是你就版本的安装目录,最好先把旧版重命名
--prefix=/web/soft/php \
--enable-mysqlnd \
# 指定freetype的安装路径,不然找不到freetype模块
--with-freetype-dir=/usr/include/freetype2/freetype/ \
--with-jpeg-dir=/usr/lib64/libjpeg.so.62 \
--enable-exif

make && make test && make install

# 其他的php-fpm.conf等,应该都是有的,就这两个文件没有,需要自己copy,另外,把模块也拷进去。
cp php.ini-production /web/soft/php/lib/php.ini          #这是我的php.ini配置文件的路径
cp sapi/fpm/init.d.php-fpm /web/soft/php/sbin/php-fpm    #这是我的php-fpm配置文件的路径
cp /web/soft/old_php/lib/php/extensions/no-debug-non-zts-20160303/* /web/soft/php/lib/php/extensions/no-debug-non-zts-20160303/

完成,重启php-fpm和web就应该升级成功了。
参考:https://www.anotherhome.net


PHP加入Redis支持

PHP如果在编译安装时没有加入redis支持,用探针检测是看不到redis栏目的,要么重新编译,要么通过API接口加入支持。
这里为了方便就直接用接口加入redis支持。

wget https://github.com/phpredis/phpredis/archive/develop.zip --no-check-certificate
unzip develop
cd phpredis-develop/

/web/soft/php/bin/phpize            #这是我的环境中的接口文件位置,执行,可以看到相关接口信息
./configure --with-php-config=/web/soft/php/bin/php-config    #这是我的环境中的php-config位置
make && make install

不出意外就安装完成了,这时检测以下是否成功(phpinfo是看不到的)

<?php
$redis = new Redis();  
$conn = $redis->connect('127.0.0.1',6379);  
var_dump($redis->info());  
?>

参考:http://blog.csdn.net/youbl/article/details/50109105


PHP加入curl支持

在apache2+php5.6的环境下,遇到了php报错:不支持curl

# 首先输入
apt-cache search curl | grep php
# 查询curl的php支持名字
可能会返回如下内容:
php5-curl - CURL module for php5
# 安装:
apt-get install php5-curl crul
# 重启apache
/etc/init.d/apache2 restart

PHP加入mysql、mysqli支持

apt-get install php5-mysql

(●゚ω゚●)