php源代碼安裝常見錯誤與解決辦法分享_PHP教程

      編輯Tag賺U幣

      推薦:Windows2003+IIS7 Express使用FastCgi運行php
      想在windows 2003中好好跑php,又要節省內存,真是很為難的事情,考慮到IIS7.5 Express可以在WIN2003上跑,不但能以fastcgi的方式支持php,還自帶Rewrite組件,只需簡單改改web.config的rule規則就可以了。 于是下載了IIS7.5 Express后,安裝,還需要對applicationHost.

      錯誤: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

      以上錯誤都是在整個編譯安裝遇到的問題,然后結合網上的資料,找到的解決方法,總結到這個地方,希望能幫到大家!

      分享:php 刪除字符串中的空格多種方法
      本教程提供了幾款php教程 刪除字符串中的空格多種方法哦,用了php函數,str_replace,trim,正則等替換字符串的空格有效方法 用php自帶的函數 str_replace( , ,$str); 來替換 ?php $str = ##使用函數trim去掉字符串兩端特定字符####; $str1 = trim($str,#); //為函數trim

      來源:模板無憂//所屬分類:PHP教程/更新時間:2013-05-28
      相關PHP教程