`

CentOs5.4下LAMP环境搭建-问题集锦

 
阅读更多

一、APACHE编译配置
#./configure --prefix=/usr/local/apache2 --enable-rewrite=shared --enable-track-vars --enable-cgi --enable-so --enable-mods-shared=all --with-config-file-path=/usr/local/apache2/conf --with-mpm=worker

二、MYSQL编译配置
#./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-extra-charsets=all --enable-thread-safe-client --enable-assembler --with-readline --with-big-tables --with-plugins=all --with-tcp-port=3310 --with-unix-socket-path=/usr/local/mysql/data/mysql.sock --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-named-curses-libs=/usr/lib/libncursesw.so.5


./configure --prefix=/usr/local/mysql --with-named-curses-libs=/usr/lib/libncursesw.so.5

MYSQL编译安装时碰到的问题:

问题一、
configure: error: No curses/termcap library found
解决办法一如下:
./configure --with-named-curses-libs=/usr/lib/libncursesw.so.5
解决方法二如下:
(centos5系统):yum -y install ncurses-devel
其他linux系统请去http://www.rpmfind.net/下载该包安装

问题二、
[root@localhost bin]# ./mysql_install_db --user=mysql

FATAL ERROR: Could not find /usr/local/mysql/libexec/mysqld


三、GD库安装
jpeg6安装:./configure --prefix=/usr/local/modules/jpeg6/ --enable-shared –enable-static

问题一、
checking host system type... Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized

在做 configure 的时候,报上述的错误。
解决方案:
把 /usr/share/libtool/config.guess 覆盖到相关软件自带的config.guess
把 /usr/share/libtool/config.sub 覆盖到相关软件自带的config.sub
./configure --enable-shared --enable-static
make libdir=/usr/lib64
make libdir=/usr/lib64 install #e4@"A(N#q8q#e5a)G.I4^7e
使用64位函数库编译.

这样就可以通过了。
libpng安装:./configure --prefix=/usr/local/modules/libpng/ --enable-shared --enable-static
出现错误,解决办法:更新libpng基础包:yum install libpng*

安装PNG:
#tar –zvxf libpng-1.2.24.tar.gz

#cd libpng-1.2.24

#cp scripts/makefile.gcmmx makefile

#./configure –prefix=/usr/local/libpng2

#vi Makefile

找到CFLAGS= -g –O2后面加上 –fPIC (这里是关键)

#make && make

安装Zlib(zlib-1.2.3):
第一步:安装zlib基本库:yum install zlib*
第二部:更新zlib库:yum update zlib*
第三步:#cd zlib-xxx/ #./configure
第四步:config后修改Makefile文件
找到
CFLAGS= -DUSE_MMAP
修改为 CFLAGS=-O3 -DUSE_MMAP -fPIC
第五步:make && make install
其中第三步和第四步也可以由下面一步代替
或者使用以下选项进行编译
CFLAGS="-O3 -DUSE_MMAP -fPIC" ./configure


GD编译配置
./configure --prefix=/usr/local/modules/gd --with-jpeg=/usr/local/modules/jpeg6 --with-png=/usr/local/modules/libpng --with-zlib --with-freetype=/usr/local/modules/freetype

四、PHP安装
./configure --prefix=/usr/local/php5 --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-zlib --with-png-dir=/usr/local/modules/libpng --with-freetype-dir=/usr/local/modules/freetype --with-libxpm --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-iconv --enable-mbstring --with-pear --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5/etc --with-libxml-dir=/usr/lib --with-curl

./configure --prefix=/usr/local/php5 --with-gd --with-jpeg-dir --with-zlib --with-png-dir --with-freetype-dir --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-iconv --enable-mbstring --with-pear --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php5/etc --with-libxml


/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libphp5.la] 错误 1

解决方法:
方法一、安装zlib包已经zlib-devel包,就OK了
方法二、

编译gdlib库碰到undefined reference to `png_check_sig’问题解决

采用源码方式编译php,需要gd库,同样采用源码编译,在编译过程中碰到 undefined reference to `png_check_sig’ 错误。
google了一下,发现由于使用的新的 libpng 1.4版本,去掉了png_check_sig函数,替换为了png_sig_check函数
,于是编辑gd库的 gd_png.c文件,将

1.
if (!png_check_sig (sig, 8)) { /* bad signature */
2.
return NULL;
3.
}

修改为

1.
if (png_sig_cmp (sig, 0, 8)) { /* bad signature 注意这里的参数不同*/
2.
return NULL;
3.
}

再次编译通过

错误一、
ext/gd/libgd/.libs/gd_png.o: In function `php_gd_gdImageCreateFromPngCtx':
/root/downloads/php-5.2.13/ext/gd/libgd/gd_png.c:142: undefined reference to `png_check_sig'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1

把 `png_check_sig' 改为了 ‘png_sig_cmp’

[url]http://aspn.activestate.com/ASPN/Mail/Message/php-dev/3803631[/url]
可以算是php的一个bug,libpng-1.4.0源码中的libpng-1.4.0.txt有说明,已经取消了png_check_sig这个函数,改用png_sig_cmp代替.自从libpng-0.90就已经反对使用png_check_sig函数了.这个帖子中采用修改php源码的方法,编辑ext/gd/libgd/gd_png.c,将
if (!png_check_sig (sig, 8)) { /* bad signature */
换成
if (png_sig_cmp (sig, 0, 8)) { /* bad signature */
但我不知道其他哪些地方有没有这个函数,所以我还是用libpng-1.2.35吧,看libpng-1.2.35.txt,就没有提png_check_sig的事.
编译安装libpng-1.2.35后,php-5.2.12的make通过了

现在编译通过了。


APACHE启动报错:
/usr/local/apache2/bin/apachectl restart
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host.example.com] does not exist
Warning: DocumentRoot [/usr/local/apache2/docs/dummy-host2.example.com] does not exist

原因:
/usr/local/apache2/conf/extra/httpd-vhosts.conf 中一些 DocumentRoot不存在于之对应的实体文件。

linux下php扩展cURL的安装
方法一

  安装cURL

   # wget http://curl.haxx.se/download/curl-7.17.1.tar.gz

   # tar -zxf curl-7.17.1.tar.gz

   # ./configure --prefix=/usr/local/curl

   # make; make install

  安装php

   只要打开开关 --with-curl=/usr/local/curl

   就可以了。

   这个扩展库还是非常棒,是fsockopen等等相关的有效的替代品。

  方法二

  进入安装原php的源码目录,

  cd ext

  cd curl

  phpize

  ./configure --with-curl=DIR

  make

  就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。

  复制curl.so文件到extensions的配置目录,修改php.ini就好了

问题
配置php支持curl的时候, 出现如下报错
checking for cURL in default path... not found
configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/

原因其实就是curl的dev包没有安装, 解决方案:
终端下

# yum -y install curl-devel

然后就可以继续了

PHP扩展包的安装(这里以 mcrypt为例,环境为Centos5.4系统):
第一步:先确认安装了安装包的基础包,通常使用系统更新安装即可:
yum list libmcrypt*
yum install libmcrypt*
第二步:进入PHP源码解压后的目录中,如我这里是php-5.2.13,#cd /root/downloads/php-5.2.13/ext/mcrypt
如果没有mcrypt则需要到网站上去下载,通常是自带了的。
第三步:执行phpize, #/usr/local/php5/bin/phpize
第四步:编译configure: ./configure --with-php-config=/usr/local/php5/bin/php-config
这里需要指定php-config的目录,然后仔细make,这里将生成一个mcrypt.so文件在 ./modules/mcrypt.so
第五步:拷贝./modules/mcrypt.so 到 php 的extension_dir 目录中.
cp ./modules/mcrypt.so /usr/local/php5/include/php/include/
第六步:确定php.ini文件中的 extension_dir= /usr/local/php5/include/php/include/
然后加上 extension = mcrypt.so;
第七步:重启apache,查看phpinfo看mcrypt是否已经加上。

configure: error: Unable to find libgd.(a|so)

如果使用的是ubuntu或debian就很简单了,直接sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd 就基本上搞定,但是用源代码安装还是很麻烦~

wget http://www.boutell.com/gd/http/gd-2.0.11.tar.gz
tar zxvf gd-2.0.11.tar.gz
cd gd-2.0.11
sudo ./configure --prefix=/usr/local/gd2
sudo make
sudo make install

再php:~/:./configure …… --with-gd=/usr/local/gd2 ……


以下是转载的,而且都是基于yum install或者apt-get的。

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

Solutions :

Quote:
#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>

Solutions :

Quote:
#yum install openssl openssl-devel

3) Configure: error: Please reinstall the BZip2 distribution

Solutions :

Quote:
# yum install bzip2 bzip2-devel

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

Solutions :

Quote:
# yum install curl curl-devel (For Redhat & Fedora)

# install libcurl4-gnutls-dev (For Ubuntu)

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

Solutions :

Quote:
# yum install libjpeg libjpeg-devel

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

Solutions :

Quote:
# yum install libpng libpng-devel

7) Configure: error: freetype.h not found.
Solutions :

Quote:
#yum install freetype-devel

8) Configure: error: Unable to locate gmp.h

Solutions :

Quote:
# yum install gmp-devel

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

Solutions :

Quote:
# yum install mysql-devel (For Redhat & Fedora)

# apt-get install libmysql++-dev (For Ubuntu)

10) Configure: error: Please reinstall the ncurses distribution

Solutions :

Quote:
# yum install ncurses ncurses-devel

11) Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!

Solutions :

Quote:
# yum install unixODBC-devel

12) Configure: error: Cannot find pspell

Solutions :

Quote:
# yum install pspell-devel

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

Solutions :

Quote:
# yum install libmcrypt libmcrypt-devel (For Redhat & Fedora)

# apt-get install libmcrypt-dev

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

Solutions :

Quote:
# yum install net-snmp net-snmp-devel
分享到:
评论

相关推荐

    centos5.4 LAMP平台搭建

    本教程介绍了如何在CentOS 5.4操作系统上搭建LAMP平台,着重强调了性能优化。 首先,搭建LAMP平台需要准备相应的软件环境。在本教程中,推荐的平台环境是CentOS 5.4的x86_64架构,配合nginx作为Web服务器、...

    兄弟连lamp环境搭建源码包lamp-php5.4

    标题 "兄弟连lamp环境搭建源码包lamp-php5.4" 指向的是一个用于在Linux系统上搭建LAMP(Linux、Apache、MySQL、PHP)开发环境的源码包,特别针对PHP5.4版本。这个源码包可能是由兄弟连教育机构提供的,旨在帮助学员...

    hualinux2.4 环境搭建:centos8安装LAMP.pdf

    ### CentOS8安装LAMP环境知识点 #### 一、安装环境说明 在开始安装LAMP环境之前,首先需要确认安装环境的具体配置,本指南是在CentOS 8.1的基础上进行的。CentOS Linux release 8.1.1911 (Core) 是文档所用的版本。...

    基于CentOS5的LAMP安装

    通过以上步骤,您可以在CentOS 5.4环境下成功搭建起一个基本的LAMP环境。这种环境非常适合初学者入门使用,也可以满足大多数Web开发的基本需求。不过需要注意的是,随着技术的发展,当前更推荐使用更高版本的系统和...

    CentOS 5.4 服务器配置 yum安装Apache+php+Mysql

    ### CentOS 5.4 服务器配置 yum安装Apache+php+Mysql 在本文中,我们将详细介绍如何在CentOS 5.4服务器上配置并使用yum工具安装...通过以上步骤,您可以搭建一个完整的LAMP(Linux + Apache + MySQL + PHP)开发环境。

    搭建LAMP环境附步骤图

    搭建LAMP环境是将Linux操作系统、Apache服务器、MySQL数据库和PHP解释器组合在一起,形成一个强大的Web开发平台。本文将详细介绍如何一步步搭建这样一个环境,并提供关键步骤的截图以供参考。 首先,为了确保安装...

    yum安装lamp

    在本文中,我们将详细探讨如何使用YUM(Yellowdog Updater Modified)包管理器在CentOS 5.4上安装和配置LAMP环境。 #### 步骤一:准备YUM源 首先,我们需要确保YUM源的正确性,以获取最新的软件包。这一步涉及到...

    LAMP安装配置文档

    mount -o loop /root/centOS5.4.iso /media/cdrom ``` - 确认挂载情况: ```bash mount | grep cdrom ``` ##### 2. 创建YUM源 - 首先切换到挂载点中的`CentOS`目录: ```bash cd /media/cdrom/CentOS ```...

    centos6.5中用yum方式安装php5.4与apache2.2的步骤

    在Linux系统管理中,搭建LAMP(Linux、Apache、MySQL、PHP)服务器是常见的任务,尤其是在Web开发领域。本文将详细介绍如何在CentOS 6.5上使用YUM包管理器来安装Apache 2.2和PHP 5.4。 首先,让我们了解为什么选择...

    使用osTube搭建高校教学视频服务器.pdf

    1. **安装环境**:推荐使用CentOS 5.4作为操作系统,同时准备osTube的最新版本(例如v2.4)。 2. **搭建LAMP平台** - **安装Linux、Apache和MySQL**:从CentOS官网下载镜像,安装时选择“现在定制”,确保添加...

    cnetos7安装zabbix4.0

    在本教程中,我们将详细介绍如何在 CentOS 7.4 系统上部署 Zabbix 4.0,包括必要的 LAMP 环境搭建步骤。 #### 二、安装环境需求 根据官方文档 ...

    Lamp安装包

    **LAMP架构详解** LAMP(Linux + Apache + MySQL + PHP)是一种常见的开源Web开发平台,因其免费、灵活且功能...这个"Lamp安装包"就是为了让用户能够快速便捷地搭建这样的环境,以便进行PHP Web应用程序的开发和测试。

    15-Zabbix 监控系统的部署.docx

    2. **搭建LAMP环境**(以 CentOS 7 为例): - 使用 `yum` 命令验证官方提供的 yum 仓库是否有所需的版本。 - 安装 LAMP 环境:`yum -y install httpd mariadb-server php php-devel php-fpm php-mysql` - 验证 ...

    Apache2.4.10+PHP5.4.23+mysql-5.6.10+Zend Guard Loader6)_20141027.docx

    在构建Linux服务器环境时,LAMP(Linux, Apache, MySQL, PHP)是常见的组合,用于搭建Web服务。这里我们详细探讨如何在32位的CentOS 6.5系统上,通过源码编译的方式安装Apache 2.4.10、PHP 5.4.23、MySQL 5.6.10以及...

    完整的linux(RedHat)+php5.3.10+mysql5.5.19+apache2.2.22安装配置说明

    通过以上步骤,我们可以完成Linux(RedHat5.4)下的LAMP环境搭建,包括MySQL、Apache和GD库的安装与配置。这套环境非常适合用于PHP应用开发,为开发者提供了一个稳定且功能强大的开发平台。此外,通过调整配置和服务...

    开源Linux 杂志

    - **LAMP平台搭建**:给出了在RHEL 5.4下构建LAMP平台的具体步骤,帮助用户快速搭建Web服务环境。 以上内容不仅涵盖了开源社区最新的技术进展,还深入探讨了开源文化的意义、开源技术的发展趋势以及在实践中的应用...

Global site tag (gtag.js) - Google Analytics