ubuntu16.04源码编译安装PHP7.2.5

系统环境:ubuntu16.04——阿里云源
1、 下载源码压缩包:点此下载
  解压后进入源码目录:/data/source/php-7.2.5(示例)
2、 开始之前先安装PHP环境所需依赖

- autoconf: 2.13+(PHP < 5.4.0),2.59+(PHP >= 5.4.0)
- automake: 1.4+
- libtool: 1.4.x+(除了 1.4.2)
- re2c: 版本 0.13.4 或更高
- flex: 版本 2.5.4(PHP <= 5.2)
- bison: 版本 1.28(建议),1.35 或 1.75
sudo apt-get install autoconf automake libtool re2c bison flex libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev libpng12-dev libfreetype6-dev

3、 问题:

a、configure: error: Cannot find OpenSSL’s libraries--出现这种情况,一种是没有安装 openssl,另一种是安装了找不到libssl.so 文件
sudo apt-get install openssl 或者 ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib

b、第五步如果使用sudo命令出现权限错误,那么请切换至root账户下,先执行make clean,再重新执行make && make install

4、 执行configure,假定我的安装目录在/usr/local/php7;其余命令行选项请执行./configure --help查看

./configure \
--prefix=/usr/local/php7 \
--exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin \
--sbindir=/usr/local/php7/sbin \
--includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php \
--mandir=/usr/local/php7/php/man \
--enable-zip \
--enable-pdo \
--enable-inline-optimization \
--enable-shared \
--enable-xml \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-mbregex \
--enable-mbstring \
--enable-ftp \
--enable-pcntl \
--enable-sockets \
--enable-fileinfo \
--enable-filter \
--enable-soap \
--enable-session \
--enable-opcache \
--enable-fpm \
--disable-debug \
--disable-rpath \
--with-config-file-path=/usr/local/php7/etc \
--with-mysql-sock=/var/run/mysql/mysql.sock \
--with-mhash \
--with-openssl \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gd \
--with-iconv \
--with-zlib \
--with-xmlrpc \
--with-gettext \
--with-curl \
--with-jpeg-dir \
--with-freetype-dir \
--with-fpm-user=php \
--with-fpm-group=php \
--with-pear=/usr/local/php7/bin

出现下图代表./configure检查完成:

5、 接着执行

sudo make && make install
  • 然后开启等待模式--直到出现下图:

6、 其它

    将/usr/local/php7加入环境变量
    
    增加php-fpm命令:
    sudo cp sapi/fpm/init.d.php-fpm /usr/local/php7/bin/php-fpm
    sudo chmod +x /usr/local/php7/bin/php-fpm
    
    初始化 PHP 和 PHP-FPM 的配置
    sudo cp php.ini-production /usr/local/php7/etc/php.ini
    sudo cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
    
    将PHP-FPM加入系统服务
    cp sapi/fpm/php-fpm.service   /etc/systemd/system/
    chmod +x /etc/systemd/system/php-fpm.service
    
    设置开机自启以及开启服务:
    systemctl enable php-fpm.service
    systemctl start php-fpm.service

    • 国宝
张子庭博客
请先登录后发表评论
  • latest comments
  • 总共0条评论