linux学习第三十七篇:安装PHP5,安装PHP7

安装PHP5

  • PHP官网www.php.net
  • 当前主流版本为5.6/7.1
  • 进入放源码包的目录: cd /usr/local/src/
  • 下载php的源码包: wget http://cn2.php.net/distributions/php-5.6.30.tar.gz
  • 解压压缩包: tar zxvf php-5.6.30.tar.gz
  • 进入目录: cd php-5.6.30
  • 安装php:
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc  --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif

--prefix:安装路径。
--with-apxs2:Apache的工具,指定工具的地址,可以帮我们自动配置一些模块。
--with-config-file-path:指定配置文件的路径。
--with-mysql:指定mysql路径。
  • PS:在这里出现了一个错误,是因为我们还没安装libxml2这个库,安装包:yum install -y libxml2-devel

PS:这里也出现了一个错误,这是少了openssl库,安装包:yum install -y openssl-devel

PS:这里需要安装bzip2,安装包yum install -y bzip2-devel

PS:安装libjpeg包,安装包yum install -y libjpeg-turbo-devel

PS:安装libpng包,安装包yum install -y libpng-devel

PS:安装freetype包,安装包yum install -y freetype-devel

PS:安装libmcrypt包,安装包yum install -y libmcrypt-devel,如果你没有安装epel-release这个扩展源,就需要先安装这个扩展源,因为libmcrypt是在这个扩展源里面,安装扩展源:yum install -y epel-release

  • 编译安装: make && make install PS:Apache和php结合的通过图中的libphp5.so模块
  • 查看php加载的模块(都是静态的): /usr/local/php/bin/php -m
  • 这个httpd的配置文件里就多了一行php模块,被注释掉的就是没有用的模块,随用随取: vim /usr/local/apache2.4/conf/httpd.conf
  • 把php的参考配置文件复制到php的配置文件目录下: cp php.ini-production /usr/local/php/etc/php.ini
  • 查看php的一些配置信息: /usr/local/php/bin/php -i | less

安装PHP7

./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc  --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
  • 编译安装: make && make install
  • php7模块: ls /usr/local/apache2.4/modules/libphp7.so
  • 查看php7加载的模块(都是静态的): /usr/local/php7/bin/php -m
  • 把php7的参考配置文件复制到php7的配置文件目录下: cp php.ini-production /usr/local/php7/etc/php.ini
  • 可以在httpd配置文件中选择使用php5或者php7模块,不要的就注释掉: vim /usr/local/apache2.4/conf/httpd.conf
  • PS:在编译安装PHP时,对于小内存,比如512MB内存的VPS来说,很有可能会出现问题,因为编译过程是一个内存消耗较大的动作。会出现如下所示的警告,所以需要停掉一些服务,让腾出更多的内存供PHP编译时使用: virtual memory exhausted: 无法分配内存 make: * [ext/fileinfo/libmagic/apprentice.lo] 错误 1

扩展: php中mysql,mysqli,mysqlnd,pdo到底是什么 http://blog.csdn.net/u013785951/article/details/60876816 查看编译参数 http://ask.apelearn.com/question/1295

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏西安-晁州

ubuntu安装mysql

一、安装mysql   1. 安装需要使用root账号,如果不会设置root账号的请自行google。安装mysql过程中,需要设置mysql的root账号的密...

4300
来自专栏任浩强的运维生涯

用Ubuntu快速安装Jenkins

1、操作系统:Ubuntu 18.04 (大家都知道Ubuntu的特点,在线安装,方便很多)

770
来自专栏前端小叙

查看端口被占用的情况以及如何解除端口占用

在windows安装好nginx之后,打开nginx.exe失败,我想应该是80端口被占用了,遂找到此方法。 注:以下命令需要在管理员权限下运行 以下文章主要以...

3695
来自专栏流柯技术学院

sublime text 3启动报错"swallow_startup_errors"解决方法

首选项 -- package settings -- Anaconda -- settings-user,

1303
来自专栏运维小白

11.6 MariaDB安装

安装mariadb cd /usr/local/src wget https://downloads.mariadb.com/MariaDB/mariadb-1...

2385
来自专栏软件

DevOps之Gitlab-Runner

背景 Gitlab-Runner是一款用于执行软件集成脚本的工具,它配合Gitlab-CI使用,是Gitlab代码管理工具的一部分。当软件工程师提交代码到Git...

2606
来自专栏holer

如何从外网访问局域网Apache HTTP Server

本地安装了Apache HTTP Server,只能在局域网内访问,怎样从公网也能访问本地Apache HTTP Server?

2271
来自专栏计算机视觉

linux-Anaconda+conda创建python-pytorch虚拟环境

2312
来自专栏磨磨谈

rbd的ceph-backup增量备份本地恢复方法

这两篇文章里的方法都是基于rbd的快照去进行增量备份,之前文章里的恢复方法都是基于集群进行恢复,也就是需要一个集群进行导入,本篇将介绍另外一个方法,不基于集群进...

1242
来自专栏康怀帅的专栏

使用 Docker 安装 Gitlab

使用 Docker Compose 搭建 GitLab。 GitHub:https://github.com/khs1994-docker/gitlab doc...

5564

扫码关注云+社区

领取腾讯云代金券