LAMP(1)--环境搭建及报错解决

环境:CentOS 6.5

★安装mysql

cd /usr/local/src
 wget http://syslab.comsenz.com/downlo ... -icc-glibc23.tar.gz
 tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz  解压
 mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
 useradd -s /sbin/nologin mysql
 cd /usr/local/mysql
 mkdir -p /data/mysql
 chown -R mysql:mysql /data/mysql
 ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
 cp support-files/my-large.cnf /etc/my.cnf
 cp support-files/mysql.server /etc/init.d/mysqld
 chmod 755 /etc/init.d/mysqld
 vim /etc/init.d/mysqld       #修改basedir=/usr/local/mysql  datadir=/data/mysql

chkconfig --add mysqld
 chkconfig mysqld on
 service mysqld start

★安装apache

因为我之前已经在自己的虚拟机上安装过apache了,这次安装为第二次安装。通常安装apache第一次比较顺利,再次安装则可能出现各种各样的问题。

==>安装2.2版本的apache

cd /usr/local/src

wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz

tar zxvf httpd-2.2.16.tar.gz    解压

cd httpd-2.2.16.tar.gz

./configure --prefix=/usr/local/apache2 --with-included-apr  --with-pcre --enable-mods-shared=most    使用此命令进行编译

apr支持apache在不同的平台上使用

出现报错:configure: error: Size of "void *" is less than size of "long"

百度中有说法:

  • 增加 ap_cv_void_ptr_lt_long=no
  • 移除--with-pcre=/xxx/xxx/pcre选项

◆首先我们尝试第一种方案:

./configure --prefix=/usr/local/apache2 --with-included-apr  --with-pcre --enable-mods-shared=most ap_cv_void_ptr_lt_long=no  使用此命令进行编译

结果显示 config.status: executing default commands  好了,编译问题解决

◆接下来我们make一下

make也不顺利,出现了一下信息的报错提示

undefined reference to `pcre_info‘
  collect2: ld returned 1 exit status
  make[1]: *** [httpd] 错误 1
  make[1]: Leaving directory `/usr/local/src/httpd-2.2.16‘
  make: *** [all-recursive] 错误 1

查阅资料获得,2.2版本的apache的安装实际上是使用自身的apr,将安装时系统已经存在的apr删除后,在进行编译应该就没有问题了(猜测与我已经安装过一次了有关系)

==>安装2.4版本的apache

CentOS6中,之前使用yum安装的apr已经不适用于httpd-2.4版本了,所以需要源码编译安装apr和apr-util

◆安装apr

cd /usr/local/src

wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.1.tar.bz2

tar jxvf apr-1.5.1.tar.bz2
  cd apr-1.5.1
  ./configure --prefix=/usr/local/apr
  make

make install

◆安装apr-util

cd /usr/local/src

wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz

tar zxvf apr-util-1.5.4.tar.gz
  cd apr-util-1.5.4
  ./configure --with-apr=/usr/local/apr/
  make

make install

◆安装apache

cd /usr/local/src

wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.10.tar.bz2
  ./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
  make

make install

★安装php

wget http://cn2.php.net/distributions/php-5.3.28.tar.gz
 tar zxf php-5.3.28.tar.gz
 cd php-5.3.28
 ./configure   --prefix=/usr/local/php 
 --with-apxs2=/usr/local/apache2/bin/apxs 
 --with-config-file-path=/usr/local/php/etc 
 --with-mysql=/usr/local/mysql   --with-libxml-dir   --with-gd 
 --with-jpeg-dir   --with-png-dir   --with-freetype-dir 
 --with-iconv-dir   --with-zlib-dir   --with-bz2   --with-openssl 
 --with-mcrypt   --enable-soap   --enable-gd-native-ttf 
 --enable-mbstring   --enable-sockets   --enable-exif   --disable-ipv6

◆编译时报错:xml2-config not found. Please check your libxml2 installation.

提示此类信息一般缺少相关的库,而相关库一般是 *-devel 形式的,比如 libxml2-devel

解决:

[[email protected] php-5.3.28]# rpm -qa |grep libxml2     <== 查看有没有安装libxml2

[[email protected] php-5.3.28]# yum install -y libxml2    <== 安装两个包

[[email protected] php-5.3.28]# yum install -y libxml2-devel

[[email protected] php-5.3.28]# find / -name "xml2-config" <== find一下,发现系统里现在已经有libxml2
/usr/bin/xml2-config

重新编译,出现错误提示:configure: error: Please reinstall the BZip2 distribution

按照上面的两个思路安装两个包

[[email protected] php-5.3.28]# yum install -y bzip2

[[email protected] php-5.3.28]# yum install -y bzip2-devel

编译又报错:configure: error: jpeglib.h not found.

[[email protected] php-5.3.28]# yum install -y libjpeg-devel  <== 注意安装的为libjpeg-devel

编译又出现了报错:configure: error: png.h not found.

[[email protected] php-5.3.28]# yum install -y libpng-devel   <== 注意安装包的名称

还有报错:configure: error: freetype.h not found.

继续安装[[email protected] php-5.3.28]# yum install -y freetype-devel

报错又来:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

我们先来查一下需要安装哪些包

[[email protected] php-5.3.28]# yum list|grep mcrypt
file:///mnt/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/repodata/repomd.xml
Trying other mirror.     <== 查看过程中出现这样的提示

出现此问题的原因是系统中没有安装epel扩展源,yum 源安装一下即可

[[email protected] php-5.3.28]# yum list|grep mcrypt
file:///mnt/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/repodata/repomd.xml
Trying other mirror.
libmcrypt.i686                             2.5.8-9.el6                   epel   
libmcrypt-devel.i686                       2.5.8-9.el6                   epel   
libtomcrypt.i686                           1.17-21.el6                   epel   
libtomcrypt-devel.i686                     1.17-21.el6                   epel   
libtomcrypt-doc.noarch                     1.17-21.el6                   epel   
mcrypt.i686                                2.6.8-10.el6                  epel   
php-mcrypt.i686                            5.3.3-3.el6                   epel   正常了

安装[[email protected] php-5.3.28]# yum install -y mcrypt-devel

!!编译成功!!  Thank you for using PHP.

◆make   如果看不出来是否成功,可以使用echo $?查看 0为成功 1为失败

报错:/usr/local/src/php-5.3.28/Zend/zend_language_parser.h:317: 错误:与‘zendparse’类型冲突
      /usr/local/src/php-5.3.28/Zend/zend_globals_macros.h:35: 附注:‘zendparse’的上一个声明在此
      make: *** [ext/standard/basic_functions.lo] 错误 1

提示类型冲突,那我们就修改一下类型

打开上面的两个文件,我们对应行数可以看到

在zend_language_parser.h:317

int zendparse (void);

在zend_globals_macros.h:35
int zendparse(void *compiler_globals);

错误就是参数不一致导致的:

我们vim一下,
把zend_language_parser.h:317的

int zendparse (void) ==> int zendparse(void *compiler_globals)  成功!!

◆make install

时间: 2024-10-26 11:40:33

LAMP(1)--环境搭建及报错解决的相关文章

一次使用innobackupex重新搭建主从复制报错解决方法及注意事项

[环境介绍] 系统环境:CentOS release 6.4 (Final) + Server version: 5.7.18-log MySQL Community Server (GPL) + innobackupex version 2.4.12 Linux (x86_64) [背景描述] 使用innobackupex重新全备搭建主从复制步骤简单,但是由于历史原因在全备恢复后出现报错:. [ERROR] InnoDB: Unable to open undo tablespace './/

QT环境搭建常见的bug解决 --&gt;ld: cannot find –lbootstrap 错误

常见错误列表 一.编译arm环境的时候: ./configure -prefix $HOME/Qtenv/arm -embedded arm-nomake docs -nomake demo -nomake examples 1.configure完成之后,make出现问题:/usr/bin/ld: cannot find –lbootstrap 错误 解决方法:提示找不到bootstrap库,而实际的qt中是由这个库的,就在src/tools/bootstrap/目录下,可以通过如下命令手动编

quick3.3final版创建项目报错解决

quick3.3final版创建项目报错解决 今天新下载了quick3.3final版,于是安装,创建项目,打开player新建项目如下图 然后点击创建,就发生了如下错误,相信应该有不少朋友会碰到的 首先,这里有两个错误 1.PHP Notice:  Undefined index: extracmd in /Users/wangmeng/Documents/quick-3.3/quick/bin/lib/quick/ProjectCreator.php on line 117 这是117行有未

zabbix源码安装流程及报错解决方法

zabbix源码安装流程及报错解决方法 一. zabbix的介绍 1) zabbix是什么 zabbix是一款基于web页面的.开源的.企业级的,支持分布式部署的监控软件. 2)2.zabbix的作用 监控windows和Linux主机上的软硬件状态. 监控各网络设备,如路由器.交换机.防火墙.f5.打印机等. 支持邮件短信微信等平台发送告警通知. 通过web页面及图形展示监控数据. 3)zabbix的特性 由zabbix server和agent程序协同工作,还支持分布式监控,这时需要安装za

DRBD简介 安装、编译报错解决 DRBD的配置、初始化及同步

主机环境 redhat6.5 64位 实验环境 服务端1 ip 172.25.25.111 主机名:server1.example.com   drbd     服务端2 ip172.25.25.112   主机名:server2.example.com    drbd 安装包 drbd-8.4.3.tar.gz 防火墙状态:关闭   1.Debd的简介 1.基本信息:Distributed Replicated Block Device(DRBD)是一个用软件实现的.无共享的.服务器之间镜像块

Nodejs npm安装socket.io报错解决办法

安装socket.io时,报错,提示需要安装Microsoft visual studio 2005 或 Net framework 2.0 sdk,没有找到vcbuild.exe,解决办法是安装 .NET Framework 2.0 Software Development Kit (SDK) http://www.microsoft.com/en-us/download/details.aspx?id=15354 并将 C:\Program Files\Microsoft Visual St

Centos6.3 PHP编译安装JSON模块报错解决

我在搭建监控系统时候出现JSON模块安装失败,PHP5.3  系统Centos6.3,安装json报错 ZVAL_DELREF 符号未知错误... # Warning: PHP Startup: Unable to load dynamic library '/home/json/json-1.2.1/modules/json.so' - /home/json/json-1.2.1/modules/json.so: undefined symbol: ZVAL_DELREF in Unknown

使用Android Studio打开eclipse项目以及打开网上下载的studio项目报错解决办法

第一次使用markdown来写博客,不熟悉使用markdown用法的可以参考视频教程(http://edu.csdn.net/course/detail/508/) 下面来介绍一下标题的题目,之前刚接触Android Studio也是一头雾水,在此写下来和大家分享:] (一) . Andriod Studio下载网址:http://www.androiddevtools.cn/(好多最新开发工具)可以找到最新的稳定版本的zip压缩包,解压后就可以直接用,关联之前本地的SDK即可. (二). St

CentOS 6.5 Maven 编译 Apache Tez 0.8.3 踩坑/报错解决记录

最近准备学习使用Tez,因此从官网下载了最新的Tez 0.8.3源码,按照安装教程编译使用.平时使用的集群环境是离线的,本打算这一次也进行离线编译,无奈一编译就开始报缺少jar包的错,即使手动下载jar包复制到目录.尝试使用Maven的包安装命令,还是无法消除错误.只得尝试在联网环境下先进行编译(环境与离线集群环境相同),再看编译得到的jar包是否可以在Hadoop离线集群上正常使用了. 之前从没接触过Maven,网上资料也多是和Eclipse放在一起,作为Eclipse的一个插件来说明的.时间