zoukankan      html  css  js  c++  java
  • Ubuntu下使用源码包搭建LAMP环境错误笔记

    1.编译环境错误:

    Ubuntu 10.04下仅预装了gcc编译环境,但安装此套环境的源码包还需要g++(即c++)的编译环境,需要安装g++软件,但这两者的版本需要同步,否则安装会出错,比较好的解决方案是使用如下的命令:

    sudo apt-get install build-essential

    来安装整套编译环境的套装软件(因为单独安装gcc与g++可能引发两者的版本不同步),装好后,编译环境即配置完成

     

    2.编译libxml2时出错:

    错误信息如下图:

     解决方法:

    打开目录下的nanohttp.c,第1588行由 
    fd = open(filename, O_CREAT | O_WRONLY);更换为 
    fd = open(filename, O_CREAT | O_WRONLY,0777);

     

    网上查了一下,说该错误是由于gcc-4.3对语法检查严格所产生的错误

    3.zlib库的解压错误:

    如使用tar命令解压zlib包出错且确认该包是完整的,请使用其他的图形化解压软件[甚至可以用windows下的winrar]先解压此包,然后将解压得到的文件夹复制过去再进行编译安装即可.

    4.编译autoconf时出现error: GNU M4 1.4 is required: 

    出现此错误是由于系统没有安装相关的软件包,打开网址:ftp.gnu.org/gnu/m4/下载用户喜欢的任一版本,用如下的命令进行编译安装即可:

    (sudo) ./configure
    (sudo) make
    (sudo) make install

    5.安装gd库时出错 make[2]: *** [gd_png.lo] Error 1:

    出错原因:

    系统无法找到png.h文件

    解决方法:

    进入gd库的解压目录编辑gd_png.c文件,找到如下的代码:

    #include "png.g"

    将之修改为:

    #include "/usr/local/libpng/include/libpng12/png.h"

     

    注意:修改的文件目录即您安装libpng库时对应文件的目录,此处需要根据您的安装路径酌情修改

    6.Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName:


    这是一个 warning,出现在apache2启动或重起时。主要是因为在配置 apache2 时,没有指定相应的主机名,即 ServerName。修改/etc/httpd/httpd.conf , 在最前加入 ServerName localhost:80 即可
     

    7.配置mysql时出现错误configure: error: No curses/termcap library found: 

    说明 curses/termcap 库没有安装

    apt-get install libncurses5-dev

     

    8.配置mysql自启动时出错:

    注释掉/etc/my.cnf里面的--skip-federated

    9.mysql无法通过mysqld.sock连接错误的解决方法

     

    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

     

     chown mysql:mysql /var/run/mysqld

    然后重启mysql:/usr/local/mysql/bin/mysql restart

    10.apache重启报错

    httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

     

    解决办法:#vim /usr/local/apache2/etc/httpd.conf (在这里/usr/local/apache2是我安装apache的目录,你默认安装的话应该是/usr/local/apache2/)

    找到#ServerName www.example.com:80   把#去掉,再重启apache即可没事了。

    11.phpize建立php扩展Cannot find config.m4

    [root@ns root]# phpize
      Cannot find config.m4.
      Make sure that you run /usr/local/bin/phpize in the top level source directory of the module

    解决办法:

    在/usr/local/src/php-4.3.5/ext下找到这个工具
      来建立一个php扩展的一个框架
      [root@ns ext]#cd /usr/local/src/php-4.3.5/ext/
      [root@ns ext]# ./ext_skel --extname=sdomain
    To use your new extension, you will have to execute the following steps:
      1. $ cd ..
      2. $ vi ext/sdomain/config.m4
      3. $ ./buildconf
      4. $ ./configure --[with|enable]-sdomain
      5. $ make
      6. $ ./php -f ext/sdomain/sdomain.php
      7. $ vi ext/sdomain/sdomain.c
      8. $ make
    [root@ns ext]# cd sdomain/
      [root@ns sdomain]# ls
      config.m4 EXPERIMENTAL     sdomain.php  tests
      CREDITS  sdomain.c php_sdomain.h
      然后我们要修改文件顺序是
      configue.m4
      sdomain.c
      php_sdomain.h
    使用文本编辑器打开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,
      [ --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,
      [ --enable-my_module      Enable my_module support])
            (其实就是将这部分的dnl去掉,在这个文件里dnl就是注释的意思,相当于我们PHP里面的#或// 另外把他中间的一句描术也去掉)
    然后保存退出
      然后在编辑
      Vi 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
    

     

    时不我待,不负韶华!立刻行动!不吃学习的苦就会吃生活的苦!
  • 相关阅读:
    tomcat页面跳转问题
    linux shell脚本攻略总结
    nginx中配置tomcat
    centos中文输入法支持
    esxi创建centos系统
    linux日常总结
    你不知道的编码软件排行榜
    Beyond Compare切换比较会话过滤模式的方法
    用Beyond Compare找代码bug的方法
    文件对比工具比较表格时怎么显示行号
  • 原文地址:https://www.cnblogs.com/zrp2013/p/2992136.html
Copyright © 2011-2022 走看看