安装好了Apache和mariadb,我的lamp系统就差最后一个p—–php了.
依赖包的安装: php需要php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel 这些依赖,还是用yum安装
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel
准备php源码包:下载地址http://cn2.php.net/distributions/php-7.1.1.tar.gz 这是其他版本下载地址
使用wget下载
wget http://cn2.php.net/distributions/php-7.1.1.tar.gz
或者在桌面环境下载好再上传到服务器.
创建php安装目录
mkdir /usr/local/php71
tar -xf php-7.1.1.tar.gz #解压源码包
cd php-7.1.1 #进入源码包目录
./configure --prefix=/usr/local/php71/ --with-apxs2=/usr/local/apache24/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php71/etc/ --with-mysqli=mysqlnd #配置编译参数
–config-file-path php配置文件搜索目录
编译安装
make && make install
等待时间比较长..
在源码包中有两个配置文件—— php.ini-development(用于开发环境)和php.ini-production(用于生产环境) ,这里我使用开发环境,把他拷贝到指定目录(上面–config-file-path指定的目录)更名为php.ini
cp php.ini-development /usr/local/php71/etc/php.ini
有需要还可以对php.ini文件进行修改.
Addtype application/x-httpd-php .php
重启Apache服务器
systemctl restart httpd
下面我们可以在网页目录下创建一个test.php文件里面的内容为:
echo "" >>/data/web/test.php #输出测试文件到网页根目录
然后访问这些页面 http://115.159.xx.xx/test.php 看到
就说明安装成功了
当安装完成后我们要安装扩展时就要重新编译xxxxxx.so的扩展文件 这里我以安装openssl扩展为例子:
还是先安装依赖openssl和openssl-devel…
yum -y install openssl openssl-devel
在源码包的 ext目录下着许多的文件夹他们都是php扩展openssl也在其中,进入到openssl文件夹
cd ext/openssl
用ls
查看目录的文件如果有 config0.m4 文件则把他拷贝为 config.m4 保证在openssl目录下有 config.m4文件
ls #查看当前目录的内容
cp config0.m4 config.m4 #拷贝 config0.m4为 config.m4
调用我们编译好的 phpize 它在php安装目录下的bin目录中
/usr/local/php71/bin/phpize
这时会生成很多文件我们可以用ls
查看 其中有我们编译需要的configure文件表
编译安装
./configure --with-php-config=/usr/local/php71/bin/php-config
make && make install
这是在php的扩展目录(默认为php安装目录下的lib/php/extensions/no-debug-zts-xxx目录,我的是/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012)会有相应的.so文件也就是openssl.so,在php.ini文件里面加上该扩展
vim /usr/local/php71/etc/php.ini
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/openssl.so
重启Apache
systemctl restart httpd
完成安装