这是个老话题了, 有时候在网上搜索一大把, 各种乱七八糟的命令, 这里只介绍php7的编译安装, 尽量减少命令, 傻瓜式操作.
假如你买了一台全新的Linux服务器(这里以CentOS为例), 首先你需要如下操作:
yum update (这个时间可能会有点久)
之后你需要安装编译环境
yum install gcc -y
PHP有两个库必须安装: zlib
, xml2
可以使用yum安装:
yum install zlib zlib-dev -y
yum install xml2 xml2-dev -y
编译安装:
1. 下载 zlib.tar.gz, xml2.tar.gz (忽略了版本号)
2. 解压
tar -zxvf zlib.tar.gz
tar -zxvf xml.tar.gz
3. 进入解压后的目录执行 ./configure --prefix=/usr/local
(安装目录默认可以不指定, 相关库会进去 /usr/local/include, /usr/local/lib, /usr/local/bin)
4. 安装 make && make install
正常情况下你需要使用php GD方面的库, 这个时候你需要下载: libpng
, libjpeg
, freetype
1. 下载libpng.tar.gz, libjpeg.tar.gz, freetype.tar.gz (忽略了版本号)
2. 解压
tar -zxvf libpng.tar.gz
tar -zxvf libjpeg.tar.gz
tar -zxvf freetype.tar.gz
3. 进入解压后的目录执行 ./configure --prefix=/usr/local
4. 安装 make && make install
另外, 如果你需要使用框架 如Laravel等, 你还需要加密相关的库: libmcrypt
, openssl
1. 下载libmcrypt.tar.gz (忽略了版本号, php7的安装目录下也会有这个库, 也许不需要安装), openssl 系统一般都会自带
2. 解压
tar -zxvf libmcrypt.tar.gz
3. 进入解压后的目录执行 ./configure --prefix=/usr/local
4. 安装 make && make install
最后安装php
1. 下载php7.tar.gz(忽略了版本号)
2. 解压: tar -zxvf php7.tar.gz
3. 进入解压后的目录执行 ./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-opcache --enable-shmop --enable-pcntl \
--enable-cgi --enable-fpm \
--enable-sockets --enable-soap \
--enable-mbregex --enable-bcmath \
--enable-mbstring \
--enable-xml --enable-wddx \
--enable-zip --with-zlib \
--with-mysqli --enable-pdo --with-pdo-mysql --with-mysql-sock=/tmp/mysql.sock \
--with-curl \
--with-mhash --with-mcrypt --with-openssl \
--with-gd --with-iconv --with-jpeg-dir=/usr/local --with-png-dir=/usr/local
4. 安装 make && make install
其中像--with-iconv, --with-openssl, --with-curl所连接的库, 系统默认已经安装, php-fpm和 apache在较高版本都已经集成了, 不需要重新指定. 在上述预处理过程, 每一行代表不同的类型, 注意指定配置文件的位置
相关问题:
- 如果出现找不到 openssl 头文件, 需要安装
yum install openssl-dev
, 同理适合其他库, 一 旦确认自己已经安装, 但预处理时提示找不到, 一般是这个问题. - 如果make编译出现错误或者make编译成功后需要添加其他库进来, 这个时候需要先
make clean
处理一下, 之后再进行make编译, 否则新添加的库无法编译进去.