zoukankan      html  css  js  c++  java
  • ubuntu安装php常见错误集锦

     

    一、configure 报错

    1、错误类型:

    Configure: error: Please reinstall the libcurl distribution-easy.h should be in <curl-dir>/include/curl/

    解决方法:

    sudo apt-get install libcurl4-gnutls-dev libcurl4-openssl-dev

    2、错误类型:

    configure: error: sasl.h not found!

    解决方法:

    sudo apt-get install libsasl2-dev

    3、错误类型:

    Configure: error: Please reinstall the ncurses distribution

    解决方法:

    sudo apt-get install libncurses5-dev

    4、错误类型:

    Configure: error: xml2-config not found. Please check your libxml2 installation.

    解决方法:

    sudo apt-get install libxml2-dev

    5、错误类型:

    configure: error: Cannot find OpenSSL’s <evp.h>

    解决方法:

    sudo apt-get install openssl

    6、错误类型:

    Configure: error: Please reinstall the BZip2 distribution

    解决方法:

    sudo apt-get install bzip2

    7、错误类型:编译时缺少库

    configure:error:libXpm.(a|so)not found

    解决方法:

    sudo apt-get install libXpm-dev

    8、错误类型:

    Configure: error: libjpeg.(also) not found.

    Configure: error: libpng.(also) not found.

    (这2个报错在5.3之后的版本中应该不会有了,取消掉了这个东西)

    解决方法:

    sudo apt-get install libjpeg-dev libpng12-dev

    9、错误类型:

    Configure: error: Cannot find MySQL header files under /usr.Note that the MySQL client library is not bundled anymore!

    解决方法(如果是按我的LNMP的顺序这个错也是不会发生的,因为此时数据库已经装好了):

    sudo apt-get install libmysql++-dev

    10、错误类型:编译时缺少gmp.h文件

    configure: error: Unable to locate gmp.h

    解决方法:

    sudo apt-get install libgmp-dev libgmp3-dev

    11、错误类型:

    Configure: error: Cannot find pspell

    解决方法:sudo apt-get install libpspell-dev

    12、错误类型:

    configure: error: mcrypt.h not found. Please reinstall libmcrypt.

    解决方法:

    sudo apt-get install libmcrypt-dev mcrypt

    13、错误类型:

    Configure: error: snmp.h not found. Check your SNMP installation.

    解决方法:

    sudo apt-get install libsnmp-dev

    14、configure:error:Cannot find ldap.h

    网上普遍的方法是安装openldap。

    解决方法:

    ubuntu下ldap的包名是libldap-2.4-2、ldap-utils、libldap2-dev,安装即可

    15、错误类型:

    configure:error:xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

    解决方法:

    sudo apt-get install libxslt1-dev

    16、错误类型:

    configure: error: Could not find libevent >=1.4.11 in /usr/local/php

    解决方法:

    安装libevent-1.4.11以上版本至/usr/local
    tar xzvf libevent-1.4.14-stable.tar.gz
    cd libevent-1.4.14-stable
    ./configure --prefix=/usr/local
    make&&make install
    在编译./configure时添加--with-libevent-dir=/usr/local即可

    17、错误类型:

    configure: error: Could not find pcre.h in /usr

    解决方法:

    sudo apt-get install libpcre3-dev

    18、错误类型:

    configure: error: DBA: Could not find necessary header file(s).checking for db4 major version... configure: error: Header contains different version

    解决方法:

    sudo apt-get install libdb4.8-dev

    19、错误类型:

    configure: error: freetype.h not found.

    解决方法:

    sudo apt-get install libfreetype6-dev

    20、错误类型:

    configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path

    解决方法:

    sudo apt-get install postgresql-server-dev-9.1

    21、错误类型:

    configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.

    解决方法:sudo apt-get install libt1-dev

    22、错误类型:

    configure: error: Unable to find gd.h anywhere under /usr

    解决方法:

    sudo apt-get install libgd2-xpm-dev

    23、错误类型:

    configure: error: ODBC header file '/usr/include/sqlext.h' not found!

    解决方法:

    sudo apt-get install unixodbc-dev

    24、错误类型:

    configure: error: Directory /usr is not a FreeTDS installation directory

    解决方法:

    sudo apt-get install freetds-dev

    25、错误类型:

    configure: error: Cannot find libtidy

    解决方法:

    sudo apt-get install libtidy-dev

    26、错误类型:

    configure: error: You've configured extension pdo_sqlite to build statically, but it depends on extension pdo, which you've configured to build shared. You either need to build pdo_sqlite shared or build pdo statically for the build to be successful.

    解决方法:

    Add following switches to your ./configure options:
    --with-pdo-sqlite=shared
    --with-sqlite=shared

    27、报错类型:

    configure: error: Cannot find OpenSSL's libraries

    解决方法:

    Add following switch to your ./configure options (optionally updating the path to reflect your system):
    --with-libdir=/lib/x86_64-linux-gnu

    从上面这么多错误可以看出大多数是由于库的安装不完整导致的,并且根据提示就能知道安装哪些包。


    二、make 报错

    1、报错类型:

    error while loading shared libraies: libmysqlclient.so.20: cannot open shared object file: No such file or directory

    解决方法:

    shell> find / -name "libmysqlclient.so.20"
    /usr/local/mysql/lib/libmysqlclient.so.20
    /usr/local/src/mysql-5.7.9/libmysql/CMakeFiles/CMakeRelink.dir/libmysqlclient.so.20
    /usr/local/src/mysql-5.7.9/libmysql/libmysqlclient.so.20
    shell> echo "/usr/local/lib" >>/etc/ld.so.conf
    shell> echo "/usr/local/mysql/lib" >>/etc/ld.so.conf
    shell> sudo ldconfig

    或者:

    ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64

    2、报错类型:

    chmod: 无法访问"ext/phar/phar.phar": 没有那个文件或目录

    解决方法:

    mkdir -p ext/phar/phar.phar

    3、报错类型:

    usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup@@OPENLDAP_2.4_2'//usr/lib/x86_64-linux-gnu/liblber-2.4.so.2: error adding symbols: DSO missing from command line

    解决方法:

    遇到这种类似的情况,说明「./configure 」沒抓好一些环境变数值。 在PHP源码目录下 vi Makefile 找到 EXTRA_LIBS 行,在行末添加 ‘ -llber ‘ 保存退出再次make即可。

    cd /usr/local/src/php/php-5.6.15
    vim Makefile
    找EXTRA_LIBS行,在末尾添加--llber

    4、报错类型:

    cc1: out of memory allocating 2036 bytes after a total of 81846272 bytes

    /usr/bin/ld: cannot find -lltdl

    collect2: ld returned 1 exit status

    解决方法:

    sudo apt-get install libltdl-dev


    三、启动服务器 报错

    1、报错类型:

    ERROR: [pool www] cannot get gid for group 'nobody'

    解决方法:

    groupadd nobody

    2、报错类型:

    connect() to unix:/var/run/php-fpm/php-fpm.sock failed (13: Permission denied) while connecting to upstream

    解决方法(owner和group根据运行者来写):

    sudo vim /usr/local/php/etc/php-fpm.conf
    listen.owner = www
    listen.group = www
    listen.mode = 0660

  • 相关阅读:
    SpringBoot项目启动遇到的问题记录
    关于点击按钮提交前进行数据校验
    idea插件的位置
    sqlite
    xamarin.forms 使用依赖注入
    vs2019查找替换,使用正则表达式功能
    EFCore 事务提交
    windows磁盘【文件和文件夹遇到-打不开or不能删除or损坏】的解决方式
    xamarin.forms 中使用Forms9Patch插件来显示图片遇到的问题
    net5 依赖注入的时候,遇到的问题:Cannot consume scoped service from singleton IHostedService
  • 原文地址:https://www.cnblogs.com/yangxunwu1992/p/5575096.html
Copyright © 2011-2022 走看看