CentOS编译安装PHP常见错误及解决办法

  1. 准备工作

在编译安装PHP之前,需要安装好所需的依赖库,如mysql、openssl等。安装命令如下:

yum install -y zlib-devel libxml2-devel libjpeg-devel libpng-devel libmcrypt-devel openssl-devel mysql-devel freetype-devel libcurl-devel libxslt-devel bzip2-devel;
  1. 配置选项

在准备好依赖库之后,需要配置编译选项。进入PHP的源码目录,执行如下命令:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-exif --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl=/usr/local/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-ftp --enable-intl --with-xsl;
  1. 编译和安装

配置好编译选项之后,执行如下命令进行编译和安装:

make && make install

过程中可能会出现如下常见错误及解决办法。

  1. “configure: error: libpng.(a|so) not found” 错误解决办法

出现这个错误是因为缺少libpng库。可以通过如下命令安装:

yum install -y libpng-devel
  1. “configure: error: jpeglib.h not found” 错误解决办法

出现这个错误是因为缺少jpeg库。可以通过如下命令安装:

yum install -y libjpeg-devel
  1. 示例1:

假设安装PHP过程中出现"configure: error: OpenSSL version 1.0.1 or greater required",我们需要先卸载OpenSSL,然后重新安装1.0.1或更高版本。

卸载OpenSSL命令如下:

yum remove openssl*

安装OpenSSL 1.0.1或更高版本命令:

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz
tar -zxvf openssl-1.0.2l.tar.gz
cd openssl-1.0.2l
./config shared zlib --prefix=/usr/local/openssl
make && make install

重新配置和编译PHP即可。

  1. 示例2:

假设PHP编译安装后,在使用pecl安装扩展时出现了"cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly"错误,这是因为缺少了autoconf。我们可以通过如下命令安装:

yum install autoconf

安装完成后,再次尝试安装扩展即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS编译安装PHP常见错误及解决办法 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 详解Centos中完全删除mysql的方法

    下面是详解Centos中完全删除mysql的方法的完整攻略: 1. 确认已安装的mysql相关软件包 登录CentOS系统,首先需要确认当前系统上已经安装的mysql软件包。可以通过执行以下命令来查看: rpm -qa | grep -i mysql 如果输出了mysql相关的软件包列表,则表示该软件包已经安装在系统中了。 2. 删除已安装的mysql软件包…

    Linux 2023年5月14日
    00
  • Linux下GrADS的安装

    安装环境:Fedora 16,用户名guge 软件包:grads-2.0.1-bin-i686-pc-linux-gnu.tar.gz(grads主程序),               data2.tar.gz(grads自带字体、地图包),               example.tar.Z(样例测试包)        (以上软件包从http://ww…

    Linux 2023年4月11日
    00
  • CentOS7yum安装PHP7.2的操作方法

    下面是CentOS7中yum安装PHP7.2的操作方法: 1. 安装EPEL仓库 EPEL是针对CentOS系统的第三方软件仓库,其中包含了大量的常用软件和工具,使用起来非常方便。 sudo yum install epel-release 2. 安装Webtatic仓库 Webtatic是另一个非常流行的第三方软件仓库,同样包含了很多常用的Web开发工具。…

    Linux 2023年5月14日
    00
  • yum安装模糊查询所需要的软件包的方法(推荐)

    使用yum安装模糊查询所需要的软件包,需要先安装相关软件包(yum-utils)。下面是完整的安装步骤: 安装yum-utils sudo yum install -y yum-utils 使用yum provides命令模糊查询软件包 假设我们需要安装的软件包是libssl,但是我们不知道具体的软件包名称。 现在我们可以使用以下命令进行模糊查询: sudo…

    Linux 2023年5月14日
    00
  • 如何在Linux系统上进行虚拟网络配置?

    在Linux系统上进行虚拟网络配置常常用于虚拟化环境中的网络隔离、测试和实验等。下面我将分步骤介绍如何进行虚拟网络配置: 1. 安装软件 在Linux系统上进行虚拟网络配置需要使用到软件包libvirt和QEMU/KVM,需要确保这些软件已经安装并且配置正确。 sudo apt-get update sudo apt-get install qemu-kvm…

    Linux 2023年4月19日
    00
  • Linux Shell 高级编程技巧1—-深入讨论(awk、<<)

    1.深入讨论(awk、<<)    1.1.深入讨论awk        记录和域,模式和动作,正则表达式和元字符            基础教程中已经介绍        条件和逻辑操作符            <    小于            >=    大于等于            <=    小于等于        …

    Linux 2023年4月12日
    00
  • Linux select多路复用介绍(转) 转载:http://www.cnblogs.com/Anker/archive/2013/08/14/3258674.html 1、基本概念

    1、基本概念   IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。   (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套…

    Linux 2023年4月13日
    00
  • Linux 技巧:让进程在后台运行的可靠方法

    Linux 后台运行任务 概述 想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作? 原文链接hangup 名称的来由在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 modem 断开连接时,就会给终端发送…

    Linux 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部