公司共有幾十臺(tái)服務(wù)器,已經(jīng)架起了cacti整合nagios架構(gòu)的監(jiān)控系統(tǒng),為了可以對(duì)比監(jiān)控的數(shù)據(jù)的準(zhǔn)確性,準(zhǔn)備搭建zabbix的監(jiān)控平臺(tái)。服務(wù)器已經(jīng)沒(méi)多少空閑的了,就在一臺(tái)IBM的機(jī)器上虛擬化的幾臺(tái)虛擬機(jī),使用其中的一臺(tái)虛擬機(jī)搭建zabbix監(jiān)控平臺(tái)。
成都創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供服務(wù)器托管德陽(yáng) 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
按照了搭建zabbix的方法,使用RPM包的方式大家愛(ài)你LAMP平臺(tái),從網(wǎng)上下載php-bcmath和php-mbstring RPM包安裝,出現(xiàn)了錯(cuò)誤的提示,提示是系統(tǒng)架構(gòu)不同,使用命令uname -m 查看機(jī)器的硬件架構(gòu),輸出的不是熟知的x86_64、x64,而是ppc64,由于使用的php-bcmath和php-mbstring都是x86_64平臺(tái)下。網(wǎng)上在各個(gè)RPM包站點(diǎn)中搜查,都沒(méi)有找到適合的版本,決定采用php源碼包的安裝,而apache和MySQL保留使用系統(tǒng)自帶的RPM包。
操作系統(tǒng):RedHat 6.4
PHP版本:php-5.4.19.tar.gz
用到的軟件包:fontconfig-2.4.2.tar.gz、freetype-2.3.5.tar.gz、gd-2.0.33.tar.gz、jpegsrc.v6b.tar.gz、libpng-1.2.18.tar.gz、libxml2-2.6.32.tar.gz、zlib-1.2.3.tar.gz
一、安裝php前置包,支持GD庫(kù)
1、安裝 zlib
tar zlib-1.2.3.tar.gz
cd zlib-1.2.3
CFLAGS="-O3 -fPIC" ./configure //一行命令,必須加前面的編譯環(huán)境參數(shù)編譯,不然報(bào)錯(cuò)
make
make install
2、安裝 libpng
tar zxvf libpng-1.2.18.tar.tar
cd libpng-1.2.18
./configure --prefix=/usr/local/libpng
make
make install
3、安裝jpeg
mkdir /usr/local/jpeg
mkdir /usr/local/jpeg/bin
mkdir /usr/local/jpeg/lib
mkdir /usr/local/jpeg/include
mkdir /usr/local/jpeg/man
mkdir /usr/local/jpeg/man/man1
tar zxf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
make install
make可能會(huì)報(bào)錯(cuò)
./libtool --mode=compile gcc -O2 -I. -c ./jcapimin.c
make: ./libtool:命令未找到
make: *** [jcapimin.lo] 錯(cuò)誤 127
解決方法:
首先看有沒(méi)有安裝 及 libtool-ltdl-devel
rpm -qa | grep libtool
有網(wǎng)絡(luò)yum源的直接用yum安裝 yum -y install libtool-ltdl-devel,無(wú)網(wǎng)絡(luò)yum源的,由于系統(tǒng)自帶的rpm包中無(wú)這個(gè)包,使用源碼安裝的方式:
tar zxf libtool-2.2.6a.tar.gz
cd libtool-2.2.6
./configure
make
make install
然后進(jìn)入jpeg-6b的源碼目錄,然后執(zhí)行以下步驟,切記!COPY到當(dāng)前目錄注意后面的點(diǎn)(.)
cp /usr/local/share/libtool/config/config.sub .
cp /usr/local/share/libtool/config/config.guess .
也就是把config里面的兩個(gè)配置文件拿來(lái)覆蓋掉jpeg-6b目錄下的對(duì)應(yīng)文件
make clean 再重新configure
沒(méi)有權(quán)限的時(shí)候先建立對(duì)應(yīng)的文件夾,再次make install就行了
4、 安裝 freetype
tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local/freetype
make
make install
5、安裝libxml2
tar –zxvf libxml2-2.6.32.tar.gz
cd libxml2-2.6.32
./configure
make
make install
6、安裝 Fontconfig
vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile
tar -zxvf fontconfig-2.4.2.tar.gz
cd fontconfig-2.4.2
./configure --with-freetype-config=/usr/local/freetype/bin/freetype-config
make
make install
6、安裝GD
tar -zxvf gd-2.0.34.tar.gz
cd gd-2.0.34
./configure --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/ --with-jpeg=/usr/local/jpeg/
必須是顯示是這些信息:
** Configuration summary for gd 2.0.33:
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: yes
Support for Xpm library: no
Support for pthreads: yes
make
make install
make出錯(cuò)顯示沒(méi)有找到libpng.h頭文件
方法:
解決辦法:
vi gd_png.c
將
#include “png.h”
替換成:
#include “/usr/local/libpng/include/png.h”
然后再make就可以了
二、安裝PHP
1、為了是源碼包安裝的PHP可以適應(yīng)RPM包安裝的apache和mysql,使用了RPM安裝LAMP平臺(tái),然后獲取PHP的編譯參數(shù)的方法。
yum -y install httpd mysql-server mysql php php-mysql php-pdo
然后啟動(dòng)apache和mysql,在html目錄下創(chuàng)建一個(gè)以.php為后綴文件,寫(xiě)入如下內(nèi)容:
<?php
phpinfo();
?>
在相應(yīng)的機(jī)器上輸入http://IP地址/文件名,根據(jù)輸出的PHP信息,在configuration欄復(fù)制配置信息,注意去掉但引號(hào)。根據(jù)版本支持的配置命令和自己的需要改寫(xiě)配置參數(shù),由于之前已經(jīng)做了修改,所以直接進(jìn)行下一步。
2、安裝php
yum -y install httpd mysql-server mysql
tar zxf php-5.4.19.tar.gz -C /usr/src/
cd /usr/src/php-5.4.19/
php編譯參數(shù):
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --disable-debug --with-pic --disable-rpath --without-pear --with-bz2 --enable-gd-native-ttf --without-gdbm --with-gettext --with-gmp --with-iconv --with-openssl --with-zlib --enable-exif --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --with-kerberos --enable-shmop --enable-calendar --enable-xml --with-apxs2=/usr/sbin/apxs --without-mysql --without-gd --disable-dom --disable-dba --without-unixODBC --enable-pdo --disable-xmlreader --disable-xmlwriter --disable-phar --disable-fileinfo --disable-json --without-pspell --disable-wddx --without-curl --disable-posix --disable-sysvmsg --disable-sysvshm --disable-sysvsem --enable-mbstring --enable-bcmath --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-gd=/usr/local/ --enable-gd-native-ttf --enable-gd-jis-conv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-zlib-dir=/usr/local/ --enable-xmlwriter --enable-xmlreader
配置出現(xiàn)的錯(cuò)誤:
./configure: line 8410: /usr/sbin/apxs: No such file or directory
yum install -y httpd-devel
configure: error: Cannot find OpenSSL's <evp.h>
yum -y install openssl-devel
onfigure: error: Please reinstall the BZip2 distribution
yum install bzip2-devel
configure: error: Unable to locate gmp.h
yum install gmp-devel
make
make install
make時(shí)5.4版本有一個(gè)BUG:
/usr/src/php-5.4.19/ext/gd/gd_ctx.c: 在函數(shù)‘_php_p_w_picpath_stream_ctxfree’中:
/usr/src/php-5.4.19/ext/gd/gd_ctx.c:67: 錯(cuò)誤:‘struct gdIOCtx’沒(méi)有名為‘data’的成員
/usr/src/php-5.4.19/ext/gd/gd_ctx.c:68: 錯(cuò)誤:‘struct gdIOCtx’沒(méi)有名為‘data’的成員
/usr/src/php-5.4.19/ext/gd/gd_ctx.c:69: 錯(cuò)誤:‘struct gdIOCtx’沒(méi)有名為‘data’的成員
In file included from /usr/src/php-5.4.19/ext/gd/gd.c:103:
/usr/src/php-5.4.19/ext/gd/gd_ctx.c: 在函數(shù)‘_php_p_w_picpath_output_ctx’中:
/usr/src/php-5.4.19/ext/gd/gd_ctx.c:153: 錯(cuò)誤:‘gdIOCtx’沒(méi)有名為‘data’的成員
make: *** [ext/gd/gd.lo] 錯(cuò)誤 1
修復(fù):
vim /usr/local/include/gd_io.h
/* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */
int (*seek) (struct gdIOCtx *, const int);
long (*tell) (struct gdIOCtx *);
void (*gd_free) (struct gdIOCtx *);
void (*data);//增加這句
}
gdIOCtx;
安裝PHP后為使用方便增加這個(gè)命令:
ln –s /usr/local/php/bin/* /usr/local/bin/
3、配置apache,并啟動(dòng)apache、mysql
vim /etc/httpd/conf/httpd.conf
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
service httpd start
service mysqld start
chkconfig --level 35 httpd on
chkconfig --level 35 mysqld on
4、測(cè)試php
vim /var/www/html/test1.php
<?php
phpinfo();
?>
輸出php 5.4的信息,表示php 5.4能被apache調(diào)用
vim /var/www/html/test2.php
<?php
$link=mysql_connect('127.0.0.1','test','');
if($link) echo "恭喜你,數(shù)據(jù)庫(kù)連接成功啦 !!";
mysql_close();
不過(guò)把127.0.0.1替換成localhost后,數(shù)據(jù)庫(kù)就連接失敗,沒(méi)找到解決的方法。
這樣LAMP平臺(tái)就搭建好了,解決的RPM包安裝PHP時(shí)缺少必要的主件,可以放心的安裝zabbix軟件了。
軟件包地址:http://down.51cto.com/data/1905529
文章標(biāo)題:ppc64架構(gòu)上源碼編譯php
瀏覽地址:http://muchs.cn/article4/piosie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、電子商務(wù)、網(wǎng)站策劃、網(wǎng)站排名、做網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)