准备
先下载PHP源文件使用:
wget https://downloads.php.net/~ab/php-7.0.11RC1.tar.bz2
下载完成后解压:
tar jxf php-7.0.11RC1.tar.bz2
安装编译用的一些第三方:
sudo apt-get update
sudo apt-get install libxml2-dev
安装gcc
sudo apt-get install build-essential
sudo apt-get install openssl
sudo apt-get install libssl-dev
sudo apt-get install make
sudo apt-get install curl
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev
sudo apt-get install libmcrypt-dev
sudo apt-get install libreadline6 libreadline6-dev
进入目录
cd php-7*
编译 安装 PHP
./configure
sudo make install
编译完成后,使用php -v
查看当前版本,当出现下图所示说明编译安装完成:
扩展开发
生成扩展
首先进入PHP代码中的ext目录:
运行下面的命令:
./ext_skel –extname=sunny –proto=sunny.def
可以看到当前目录下多出了一个sunny目录,进入sunny目录:
可以看到有个config.m4文件,修改其中的这三行:
去掉dnl
修改完成后先安装一个第三方:
sudo apt-get install php-dev
然后在当前目录下使用命令行:
phpize
会看到出现了很多新文件,在使用命令行:
./configure
sudo make
就可以看到当前目录下多了一个modules文件夹:
打开之后有个sunny.so文件即为可用的linux下的扩展
将扩展加入到当前的PHP环境中:
使用命令行:php -info|more
可以看到当前PHP的配置文件的目录,如下:
扩展目录如下:
先将sunny.so复制到对应得扩展目录,再修改php.ini,方式如下:
可以选择复制当前PHP源文件下的php.ini-development或者php.ini-production文件中的一个到上面的:
/usr/local/lib文件夹下:
修改php.ini,加入:
extension=sunny.so
如此修改完成之后使用命令行查看:
php -m
可以看到如下图所示:
说明已经安装完成。
如果想进一步测试,可以用下面的方式:
新建一个php文件,内容为:
<?php
print confirm_sunny_compiled("sunny");
可以看到输出了下图内容说明已经成功: