安装好了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 12准备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 12或者在桌面环境下载好再上传到服务器. 创建php安装目录
mkdir /usr/local/php71 12–config-file-path php配置文件搜索目录
如果出现
Sorry, I cannot run apxs. Possible reasons follow:
就进行apxs安装:{
#yum install -y perl*
#yum install -y httpd-devel
#find / -name apxs 得到的路径是:/usr/sbin/apxs
于是修改--with-apsx2=/usr/sbin/apxs指定到正确路径
再重新执行上一步。
}
编译安装
make && make install 12等待时间比较长.. 在源码包中有两个配置文件—— php.ini-development(用于开发环境)和php.ini-production(用于生产环境) ,这里就我使用开发环境,把他拷贝到指定目录(上面–config-file-path指定的目录)更名为php.ini
cp php.ini-development /usr/local/php71/etc/php.ini 1有需要还可以对php.ini文件进行修改.
重启Apache服务器
systemctl restart httpd 12下面我们可以在网页目录下创建一个test.php文件里面的内容为:<?php phpinfo(); ?>
网页目录在httpd.conf可以找到,默认在/var/www/html
echo "<?php phpinfo(); ?>" >>/data/web/test.php #输出测试文件到网页根目录 123然后访问这些页面 http://115.159.xx.xx/test.php 看到 就说明安装成功了
当安装完成后我们要安装扩展时就要重新编译xxxxxx.so的扩展文件 这里我以安装openssl扩展为例子:
还是先安装依赖openssl和openssl-devel…
yum -y install openssl openssl-devel 12在源码包的 ext目录下着许多的文件夹他们都是php扩展openssl也在其中,进入到openssl文件夹
cd ext/openssl 12用ls查看目录的文件如果有 config0.m4 文件则把他拷贝为 config.m4 保证在openssl目录下有 config.m4文件
ls #查看当前目录的内容 cp config0.m4 config.m4 #拷贝 config0.m4为 config.m4 123调用我们编译好的 phpize 它在php安装目录下的bin目录中
/usr/local/php71/bin/phpize 1这时会生成很多文件我们可以用ls查看 其中有我们编译需要的configure文件表
编译安装
./configure --with-php-config=/usr/local/php71/bin/php-config make && make install 123这是在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文件里面加上该扩展
重启Apache
systemctl restart httpd 12再次访问上面的test.php文件就可以找到以下信息
完整完成