linux安装PHP7以及扩展

Linux下安装PHP7

事先升级gcc4.8,然后安装PHP7,安装步骤参考:CentOS安装PHP7

1、Linux下编译的php没有php.ini

解决办法:从源代码目录中复制php.ini-development或php.ini-production到php.ini目录

2、安装zlib扩展

cd /usr/local/src/php-7.0.10/ext/zlib

cp config0.m4 config.m4

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-zlib=/usr

make & make install & make clean

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=zlib.so //添加这一行,重启PHP服务

参考:phpize编译安装PHP zlib库扩展模块

3、安装gd扩展

sudo yum install php-gd2 png jpeg freetype //YUM安装扩展

cd /usr/local/src/php-7.0.10/ext/gd //这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=gd.so //添加这一行,重启PHP服务

参考:LINUX下用PHPIZE安装PHP GD扩展

4、安装mysqli扩展

cd /usr/local/src/php-7.0.10/ext/mysqli//这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

cp /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-mysql-config=/usr/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --enable-pdo=shared

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=mysqli.so //添加这一行,重启PHP服务

参考:PHP独立编译安装扩展(mysqli,pdo-mysql)

5、安装pdo_mysql扩展

cd /usr/local/src/php-7.0.10/ext/pdo_mysql //这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config --with-mysql-config=/usr/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --enable-pdo=shared

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=pdo_mysql.so //添加这一行,重启PHP服务

参考:PHP独立编译安装扩展(mysqli,pdo-mysql)

6、安装opcache扩展

cd /usr/local/src/php-7.0.10/ext/opcache

/usr/local/php-7.0.10/bin/phpize

cp config0.m4 config.m4

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config

make & make install & make clean

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

//添加以下这些行,重启PHP服务

zend_extension=opcache.so

opcache.enable=1

opcache.enable_cli=1"

opcache.file_cache=/tmp

opcache.validate_timestamps=1 //生产环境中配置为0

opcache.revalidate_freq=0 //检查脚本时间戳是否有更新时间

opcache.memory_consumption=64 //Opcache的共享内存大小,以M为单位

opcache.interned_strings_buffer=16 //用来存储临时字符串的内存大小,以M为单位

opcache.max_accelerated_files=4000 //Opcache哈希表可以存储的脚本文件数量上限

opcache.fast_shutdown=1 //使用快速停止续发事件

参考:PHP5.5 Zend Opcache安装配置教程

7、安装redis扩展

Redis扩展:http://pecl.php.net/package/redis

wget http://pecl.php.net/get/redis-3.0.0.tgz

tar -xzvf redis-3.0.0.tgz

cd redis-3.0.0

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config

make & make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件 e

xtension=redis.so //添加这一行,重启PHP服务

参考:Linux下Redis安装与PHP扩展(PHP7适用)

8、中间遇到zlib.so明明编译好了也配置了,就是没加载

解决方法:通过查看php-fpm日志如下,发现是编译的问题,在php源码根目录make clean一下重新编译zlib,搞定了

NOTICE: PHP message: PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) /usr/local/php-7.0.10/lib/php/extensions/no-debug-non-zts-20151012/zlib.so\'inUnknown on line 0

9、安装mbstring扩展

cd /usr/local/src/php-7.0.10/ext/mbstring //这里的php-7.0.10/文件夹是我当初解压PHP安装包得到的。

/usr/local/php-7.0.10/bin/phpize

./configure --with-php-config=/usr/local/php-7.0.10/bin/php-config

sudo make

make install

sudo vi /usr/local/php-7.0.10/etc/php.ini //修改PHP配置文件

extension=mbstring.so //添加这一行,重启PHP服务

10、类似方法安装openssl扩展