1.问题描述
最近工作需要搭建linux+apache2+php5,分别从官网上下了
httpd-2.3.8-deps.tar.bz2
httpd-2.3.8.tar.gz
php-5.3.3.tar
准备开动,没想到刚开始就遇到很多错误,根据错误提示先后安装了libxml2-2.7.3,zlib-1.2.5和libtool-2.4,这些不是重点,不多说了。
开始装apache2,
./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-mods-shared=most --enable-so --sbindir=/usr/sbin --enable-cgi
make&make install
总算是apache装上了。
该php5了,
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2 --with-mysql=/var/lib/mysql --with-zlib-dir=/usr/local/zlib --enable-zip --with-jpeg-dir=/usr/local/jpeg6 --with-png-dir=/usr/local/libpng --with-iconv --with-gd --with-config-file-path=/usr/local/lib --disable-debug --enable-short-tags --disable-posix --enable-exif --enable-ftp --enable-sockets --enable-shared
make
好像也没报错,但是关键的make install,出现如下错误:
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/apache2/build/libtool' libphp5.la /usr/local/apache2/modules
/usr/local/apache2/build/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
libtool: install: error: cannot install `libphp5.la' to a directory not ending in /home/bruced/php/libs
apxs:Error: Command failed with rc=65536
网上搜了下很多人出现这样的问题,但都没有有效的解决办法,折腾了好几天,期间apache和php分别make clean &configure&make&makeinstall无数次。
2.解决方案
最后,盯着错误 libtool: install: error: cannot install `libphp5.la' to a directory not ending in /home/bruced/php/libs 突发奇想,不是libphp5.la只能build在/home/bruced/php/libs中么,那我在这build好,再拷到/usr/local/apache2/modules下面去行不行?
于是在php安装目录下:
/usr/local/apache2/build/libtool --mode=install cp libphp5.la /home/bruced/php/libs
这样在/home/bruced/php/libs 便生成了libphp5.la和libphp5.so,把他们拷到/usr/local/apache2/modules中去!
对php,make clean,重新config,这次去掉 --with-apxs2=/usr/local/apache2/bin/apxs选项:
./configure --prefix=/usr/local/php5 --with-libxml-dir=/usr/local/libxml2 --with-mysql=/var/lib/mysql --with-zlib-dir=/usr/local/zlib --enable-zip --with-jpeg-dir=/usr/local/jpeg6 --with-png-dir=/usr/local/libpng --with-iconv --with-gd --with-config-file-path=/usr/local/lib --disable-debug --enable-short-tags --disable-posix --enable-exif --enable-ftp --enable-sockets --enable-shared
make&make install,php安装成功。
修改httpd.conf
添加
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
重启httpd进程:
httpd -k restart
在/usr/local/apache2/htdocs 写个测试页面:test.php
内容,打开浏览器:http://localhost/test/php
终于看到了久违的页面。
3.tips
1)apache config时,一定要加--enable-so选项,这样php就能以动态模块编译到apache中去
2)重新安装前记着make clean
3)如果重新安装出现以前没有的错误,在执行2)后把原来安装好的 /usr/local/php5 等这些全删掉
4)还是不行的话把source code删掉,重新解压一份tar包折腾。
分享到:
相关推荐
- 安装 Libtool 工具:`# yum -y install libtool*`。 - 安装 GCC 编译器:`# yum -y install gcc*`。 2. **下载 PHP5.5.0 源码包**: - 下载 PHP5.5.0 源码包:`# wget ...
### Linux+Apache+Nginx+MySQL+PHP (LANMP/LNAMP) 生产环境部署详解 #### 一、概述 本文旨在详细介绍如何构建一个高效、稳定的Linux+Apache+Nginx+MySQL+PHP(LANMP/LNAMP)生产环境。通过合理配置这些组件,可以...
### Linux 下安装 PHP5 + Apache + MySQL + GD2 的详细步骤与执行命令 #### 前言 在 Linux 环境中搭建 LAMP(Linux、Apache、MySQL、PHP)服务器是一个常见的需求,特别是对于 Web 开发者而言。本文将详细介绍如何...
2. 使用libtool配置、编译和安装各个库,可能需要根据目标系统的具体需求进行调整。 3. 在项目中引用这些库,通过它们提供的API实现PNG、JPEG图像处理和字体渲染功能。 在开发过程中,了解这些库的特性和使用方法...
devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype freetype-dev elfreetype* fontconfig fontconfig-devel libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 ...
libtool 是一个在 GNU/Linux 和其他类 Unix 系统上广泛使用的开源工具,它的主要目标是简化共享库的创建、编译和安装过程。libtool-2.4.2.tar.gz 文件包含了 libtool 2.4.2 版本的源代码,用户可以利用这个压缩包来...
- **安装**:使用`make install`将编译好的libtool安装到系统路径中。 4. **libtool的使用** - **创建库**:libtool提供`ltmain.sh`脚本,通过修改这个脚本,可以自定义库的编译规则。 - **链接库**:在项目中,...
《GNU Autoconf、Automake 和 Libtool》是针对开源软件开发者的必备指南,由Vaughan V. Gary、Ben Elliston、Tom Tromey和Ian Lance Taylor等专家共同编写,旨在帮助开发者掌握这些关键工具,提升开发效率和应用程序...
### Linux下Python 3.6环境中CV2与TensorFlow安装及Libstdc++.so问题解决方案 在Linux环境下,特别是CentOS系统中,安装OpenCV (cv2) 和 TensorFlow时经常会出现与 libstdc++.so 相关的问题。这些问题通常与环境...
libtool: link: `dbd/apr_dbd_sqlite3.lo' is not a valid libtool object ``` **解决方案:** 这可能是由于编译过程中某些库文件损坏导致的。 1. 清理并重新编译 APR-util: ``` make clean ./configure --...
4. **安装**:执行`sudo make install`,将libtool安装到系统路径。 深入研究libtool源代码,不仅可以理解其内部机制,还能学习如何编写跨平台的库管理工具,这对于大型项目和开源软件的开发具有很高的参考价值。...
在本文中,我们将深入探讨如何在CentOS 7操作系统上通过源代码编译来安装Apache 2.4、MySQL 5.6和PHP 7.1。这个过程对于那些希望自定义软件配置或在没有预装包的环境中部署这些服务的系统管理员来说非常有用。 首先...
### Autotools:实践者的指南—GNU Autoconf、Automake与Libtool #### 知识点一:Autotools概述 - **定义**:Autotools是一套用于辅助跨平台软件构建过程的工具集合,主要由GNU Autoconf、Automake与Libtool组成。...
在IT领域,构建一个LAMP(Linux + Apache + MySQL + PHP)平台是常见的做法,用于搭建Web服务器。这里我们以CentOS 5.5为例,详细介绍如何搭建LAMP环境并安装Web控制面板。 首先,我们需要准备以下软件包: 1. ...
[root@2f60c4bcddfa /]# yum install make automake autoconf libtool gcc gcc-c++ libuuid-devel zlib-devel mysql-devel readline-devel gperftools-devel.x86_64 -y Libraries have been installed in: /usr/...
devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2...
本安装手册将指导你如何在Linux环境下编译和安装Apache。以下是详细的步骤和注意事项: 1. **获取Apache源码**: 首先,你需要从Apache官方网站下载最新的稳定版本。可以使用`lynx`或`wget`命令来下载源码包。例如...
libtool可以用于生成Makefile文件,比如在安装wolfSSL过程中,由于源工程没有直接提供configure文件,而只有configure.ac,此时需要转换生成configure,接着再生成Makefile.目前Ubuntu系统默认安装(比如apt-get ...