ps1:在源码安装时,如果配置通过(./configure),但是make(生成makefile失败),此时可以用make clean命令清除编译的结果,从新进行编译
[root@GFS_Serverphp-5.2.13]#locate libjpeg.so
[root@GFS_Server php-5.2.13]# locate libjpeg.a
如果是源码安装的,你肯定要添加--with-jpeg-dir=/usr/local/jpeg6,那么在./configure时,会去这个目录下的lib/下寻找libjpeg.so/libjpeg.a文件。此时肯定这个目录下没有这文件!!!
另外:(a|so)这些结尾的都是相应包的库文件
如果没有指定jpeg的目录,./configure会自动的去/usr/lib下寻找,这些库文件。但是实际上在安装的时候(rpm),系统会默认的将这些库文件放在/usr/lib64下(64位的系统--32位的系统不会出现这个问题)
解决:cp -frp /usr/lib64/libpng* /usr/lib/
==================================LADP安装=====================
总共11个源码包
autoconf-2.61.tar.gz
httpd-2.2.8.tar.gz
libxml2-2.6.19.tar.gz
mysql-5.0....
freetype-2.1.10.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.24.tar.gz
zlib-1.2.3.tar.gz
gd-2.0.35.tar.gz
php-5.2.5.tar.gz
检查环境是否安装gcc
# gcc -v
安装GD库==============================
安装前应先依次安装zlib/libpng/freetype/jpegsrc.v6b/autoconf/gd
===============================================================================
安装zlib
tar xzvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
make
make install
ps:64位的linux系统用./configure生成的makefile编译,虽然不会出错,但是在之后安装php是肯定会报错(/usr/bin/ld:/usr/local/lib/libbz2.a: relocation R_X86_64_32 against `a local symbol' cannot be used when making a shared object; recompile with -fPIC)------------解决方案:vi Makefile
在CFLAGS上加入 -fPIC
CFLAGS = -fPIC xxxxxxxxxxxxxxxxxx
make && make install && makeclean
此时问题解决
===============================================================================
安装libpng
tar xzvf libpng-1.2.24.tar.gz
cd libpng-1.2.24
cp scripts/makefile.linux makefile
make
make install
==========================================================================
安装freetype TTF包
tar xzvf freetype-2.1.10.tar.gz
cd freetype-2.1.10
./configure --prefix=/usr/local/freetype
make
make install
=========================================================================
安装jpeg6
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -p /usr/local/jpeg6
mkdir -p /usr/local/jpeg6/bin
mkdir -p /usr/local/jpeg6/lib
mkdir -p /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man
mkdir -p /usr/local/jpeg6/jpeg6man1
mkdir -p /usr/local/jpeg6/man/man1
./configure --prefix=/usr/local/jpeg6--enable-share --enable-static
make
make install
最后安装jpeg6库文件
make install-lib
使用libtool完成库的安装
libtool --finish /usr/local/jpeg6//lib /
注:在源码安装jpeg6时报错:
make: ./libtool: Command not found
make: *** [jcapimin.lo] Error 127
错误分析:由于libtool版本过低导致的,重新下载新版本的libtool以默认方式安装,(一般都是64位的系统上面报错)
1,x64bit的服务器就是报这个错误,可以直接执行:
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
而不需另行安装(必须要从新编译)
2,x64bit的系统安装jpeg时
./configure --prefix=/usr/local/jpeg6 --enable-share --enable-static
make
make install
64位的系统就不用添加以下两个步骤了,不然在安装gd时是报错!!!
---make install-lib
---libtool --finish /usr/local/jpeg6//lib /
===============================================================================
安装autoconf
tar xzvf autoconf-2.61.tar.gz
cd autoconf-2.61
./configure --prefix=/usr
make
make install
==============================================================================
安装GD
tar xzvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd--with-jpeg=/usr/local/jpeg6 --with-png=/usr/local/lib--with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype
make
make install
cp gd.h /usr/local/lib #将生成的头文件拷贝到lib目录下,否则会出
===============================================================================
安装freetds(用来连接MS SQLServer和Sybase数据库更具需要是否安装)
tar xzvf freetds-0.82.tar.gz
cd freetds-0.82
./configure --prefix=/usr/local/freetds--with-tdsver=8.0
make
make install
===============================================================================
安装mysql===见另外文章==================================
==============================================================================安装apache
./configure--prefix=/usr/local/apache2 --enable-so --enable-ssl=static--with-ssl=/usr/local/ssl --with-z-dir=/usr/local/zlib
make
make install
设置apache 自启动
echo "/usr/local/apache2/bin/apachectlstart">>/etc/rc.d/rc.local
检查是否加入自启动了
cat /etc/rc.d/rc.local
ps:在配置的时候报错:configure: error: ...No recognized SSL/TLS toolkit detected
解决:安装openssl-devel
===============================================================================
安装PHP
PHP 对XML的支持是建立在libxml2库的基础上的
安装php之前先安装libxml2
tar -zxvf libxml2-2.6.19.tar.gz
cd libxml2-2.6.19
./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/zlib/
make
make install
复制配置文件
cp xml2-config /usr/bin
===============================================================================
说明:
php必要的选项:
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql/
--with-libxml-dir
--enable-mbstring
这是让PHP支持GD库的配置选项:
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png
--with-zlib-dir=/usr/lib
--with-freetype-dir=/usr/local/freetype
===============================================================================
接着安装php
检查系统是否已经安装php,如果安装将其卸载
将多个相关软件包一次性卸载:
for i in 'rpm -qa | grep -i php'
>do rpm -e $i --nodeps
>done
tar-zxvf php-5.2.5.tar.gz
cd php-5.2.5
mkdir -p /usr/local/php5
./configure --prefix=/usr/local/php5--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2--with-png-dir=/usr/local/lib --with-jpeg-dir=/usr/local/jpeg6--with-zlib-dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype--with-gd=/usr/local/gd - -enable-soap --enable-mbstring=all
make
make test
make install
建立php配置文件
cp php.ini-dist /usr/local/php5/lib/php.ini
修改apache配置文件添加php支持
vi /usr/local/apache2/conf/httpd.conf
加入(注意之前加过了就不用再加,否则apache不能启动:
LoadModule php5_module modules/libphp5.so 在此下面加入以下
AddType application/x-httpd-php .php -
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。