PHP编译安装

这是个老话题了, 有时候在网上搜索一大把, 各种乱七八糟的命令, 这里只介绍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在较高版本都已经集成了, 不需要重新指定. 在上述预处理过程, 每一行代表不同的类型, 注意指定配置文件的位置

相关问题:

  1. 如果出现找不到 openssl 头文件, 需要安装 yum install openssl-dev, 同理适合其他库, 一 旦确认自己已经安装, 但预处理时提示找不到, 一般是这个问题.
  2. 如果make编译出现错误或者make编译成功后需要添加其他库进来, 这个时候需要先make clean处理一下, 之后再进行make编译, 否则新添加的库无法编译进去.

你可能感兴趣的:(PHP编译安装)