程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php源代碼安裝常見錯誤與解決辦法

php源代碼安裝常見錯誤與解決辦法

編輯:關於PHP編程

     錯誤:configure: error: libevent >= 1.4.11 could not be found

    解決:yum -y install libevent libevent-devel



    錯誤:configure: error: Please reinstall the mysql distributio

    解決:yum -y install mysql-devel



    錯誤:make: *** [sapi/fpm/php-fpm] error 1

    解決:用make ZEND_EXTRA_LIBS='-liconv'編譯



    錯誤:configure: error: XML configuration could not be found

    解決:yum -y install libxml2 libxml2-devel



    錯誤:configure: error: No curses/termcap library found

    解決:yum -y install ncurses ncurses-devel



    錯誤:configure: error: xml2-config not found

    解決:yum -y install libxml2 libxml2-devel



    錯誤:configure: error: Cannot find OpenSSL's <evp.h>

    解決:yum install openssl openssl-devel



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

    解決:yum install curl curl-devel



    錯誤:configure: error: Cannot find ldap.h

    解決:yum install openldap openldap-devel



    錯誤:configure: error: libjpeg.(a|so) not found

    解決:yum install libjpeglibjpeg -devel



    錯誤:configure: error: libpng.(a|so) not found.

    解決:yum install libpnglibpng –devel



    錯誤:onfigure: error: freetype.h not found.

    解決:yum install freetype-devel



    錯誤:configure: error: cannot find output from lex; giving up

    解決:yum -y install flex



    錯誤:configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

    解決:yum -y install zlib-devel openssl-devel



    錯誤:Configure: error: Unable to locate gmp.h

    解決:yum install gmp-devel



    錯誤:Configure: error: Cannot find MySQL header files under /usr.

    Note that the MySQL client library is not bundled anymore!

    解決:yum install mysql-devel

    更多的補充內容:

    安裝php: ./configure
    configure: error: XML configuration could not be found

    yum -y install libxml2 libxml2-devel

    Cannot find OpenSSL's <evp.h>
    yum install openssl openssl-devel

    1) Configure: error: xml2-config not found. Please check your libxml2 installation.
    #yum install libxml2 libxml2-devel (For RedHat & Fedora)
    # aptitude install libxml2-dev (For Ubuntu)

    2) Checking for pkg-config… /usr/bin/pkg-config
    configure: error: Cannot find OpenSSL's <evp.h>
    #yum install openssl openssl-devel

    3) Configure: error: Please reinstall the BZip2 distribution
    # yum install bzip2 bzip2-devel

    4) Configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/
    # yum install curl curl-devel (For RedHat & Fedora)
    # install libcurl4-gnutls-dev (For Ubuntu)

    5) Configure: error: libjpeg.(also) not found.
    # yum install libjpeg libjpeg-devel

    6) Configure: error: libpng.(also) not found.
    # yum install libpng libpng-devel

    7) Configure: error: freetype.h not found.
    #yum install freetype-devel

    8) Configure: error: Unable to locate gmp.h
    # yum install gmp-devel

    9) Configure: error: Cannot find MySQL header files under /usr.
    Note that the MySQL client library is not bundled anymore!
    # yum install mysql-devel (For RedHat & Fedora)
    # apt-get install libmysql++-dev (For Ubuntu)

    10) Configure: error: Please reinstall the ncurses distribution
    # yum install ncurses ncurses-devel

    11) Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h' not found!
    # yum install unixODBC-devel

    12) Configure: error: Cannot find pspell
    # yum install pspell-devel

    13) configure: error: mcrypt.h not found. Please reinstall libmcrypt.
    # yum install libmcrypt libmcrypt-devel (For RedHat & Fedora)
    # apt-get install libmcrypt-dev

    14) Configure: error: snmp.h not found. Check your SNMP installation.
    # yum install net-snmp net-snmp-devel

    15)
    /usr/bin/ld: cannot find -lltdl
    collect2: ld returned 1 exit status
    make: *** [sapi/cgi/php-cgi] Error 1
    # yum install libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64

    16)
    為php編譯xcache模塊的時候,需要運行phpize
    得到了一個錯誤
    #/usr/local/php/bin/phpize
    Configuring for:
    PHP Api Version: 20041225
    Zend Module Api No: 20060613
    Zend Extension Api No: 220060519
    Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
    environment variable is set correctly and then rerun this script.
    通過安裝 autoconf 可以解決
    centos下執行 yum install autoconf 即可
    Ubuntu下執行 apt-get install autoconf 即可
    17)
    # /usr/local/php/bin/phpize
    Cannot find config.m4.
    Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module
    修改方法:
    [root@centos lnmp]# cd php-5.2.14ext/
    [root@centos ext]# ./ext_skel --extname=my_module
    Creating directory my_module
    Creating basic files: config.m4 config.w32 .cvsignore my_module.c php_my_module.h CREDITS EXPERIMENTAL tests/001.phpt my_module.php [done].
    To use your new extension, you will have to execute the following steps:
    1. $ cd ..
    2. $ vi ext/my_module/config.m4
    3. $ ./buildconf
    4. $ ./configure --[with|enable]-my_module
    5. $ make
    6. $ ./php -f ext/my_module/my_module.php
    7. $ vi ext/my_module/my_module.c
    8. $ make
    Repeat steps 3-6 until you are satisfied with ext/my_module/config.m4 and
    step 6 confirms that your module is compiled into PHP. Then, start writing
    code and repeat the last two steps as often as necessary.
    [root@centos ext]# cd my_module/
    [root@centos my_module]# vim config.m4
    根據你自己的選擇將
    dnl PHP_ARG_WITH(my_module, for my_module support,
    dnl Make sure that the comment is aligned:
    dnl [ --with-my_module Include my_module support])
    修改成
    PHP_ARG_WITH(my_module, for my_module support,
    Make sure that the comment is aligned:
    [ --with-my_module Include my_module support])
    或者將
    dnl PHP_ARG_ENABLE(my_module, whether to enable my_module support,
    dnl Make sure that the comment is aligned:
    dnl [ --enable-my_module Enable my_module support])
    修改成
    PHP_ARG_ENABLE(my_module, whether to enable my_module support,
    Make sure that the comment is aligned:
    [ --enable-my_module Enable my_module support])
    [root@centos my_module]# vim my_module.c
    將文件其中的下列代碼進行修改
    /* Every user visible function must have an entry in my_module_functions[].
    */
    function_entry my_module_functions[] = {
    PHP_FE(say_hello,    NULL) /* ?添加著一行代碼 */
    PHP_FE(confirm_my_module_compiled,   NULL) /* For testing, remove later. */
    {NULL, NULL, NULL}   /* Must be the last line in my_module_functions[] */
    };
    在文件的最後添加下列代碼
    PHP_FUNCTION(say_hello)
    {
    zend_printf("hello sdomain!");
    }
    再修改:php_sdomain.h
    vi php_sdomain.h
    在PHP_FUNCTION(confirm_my_module_compiled ); /* For testing, remove later. */ 這行的下面添加一行:
    PHP_FUNCTION(say_hello); /* For testing, remove later. */
    保存文件退出
    然後我們就可以在這個目錄下使用上面的命令了
    /usr/local/php/bin/phpize
    執行以後會看到下面的
    [root@ns sdomain]# /usr/local/php/bin/phpize
    Configuring for:
    PHP Api Version:     20020918
    Zend Module Api No:   20020429
    Zend Extension Api No:  20050606
    [root@ns sdomain]#
    然後執行./configure --with-php-config=/usr/local/php/bin/php-config
    然後執行make
    make install
    然後他會把對應的so文件生成放到PHP安裝目錄下面的一個文件夾,並提示在在什麼地方,然後再把裡面的SO文件拷到你存放SO文件的地方
    即你在php.ini裡面的extension_dir所指定的位置
    最後一步是你在php.ini文件中打開這個擴展
    extension=sdomain.so
    然後
    重新起動apache

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved