歡迎您光臨本站 註冊首頁

solaris7+php4.0.2+gd1.8.3+sybase12.0+apache1.3 安裝手冊

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  作者:yurt(蒙古包)
這份手冊是我在Solaris7中文版環境下安裝配置PHP和SYBASE資料庫的心得體會,
整個安裝過程總共花費了11天(從11月12號到22號)時間,可謂費盡周折。安裝
期間我拜訪了國內外無數的網站、BBS、MAILLIST和NEWSGROUP,請教過PHP函數
的作者和SYBASE公司的工程師。在眾多熱心人的幫助下,我終於把它搞定了,呵
呵。既然是大家的成果,我就不敢一人獨享,所以把它寫出來,來幫助那些需要
幫助的人。如果我寫的這篇文章幫您解決了令您頭疼的問題,能不能給我發一張
賀卡,我一定會和您一樣高興的^Y^。
我的E-Mail是 yurt@163.com , yurt@21cn.com 。

=======================所需軟體=======================
sybase 12.0 for solaris 光碟介質
(下列軟體下載地點http://www.sunfreeware.com/programlistsparc7.html )
gzip-1.3-sol7-sparc-local.gz (必須)
gcc-2.8.1-sol7-sparc-local.gz (必須)
libstdc++-2.8.1.1-sol7-sparc-local.gz (必須)
make-3.78.1-sol7-sparc-local.gz (可不安裝)
gd-1.8.3.tar.gz (可選。如不安裝GD庫,不需下載和GD相關的軟體包)
php-4.0.2.tar.gz (在http://www.php.net/downloads.php下載)
apache_1.3.14.tar.gz (在http://httpd.apache.org/dist/ 下載)
zlib-1.1.3-sol7-sparc-local.gz (安裝GD庫需要)
jpeg-6b-sol7-sparc-local.gz (和GD庫相關)
libpng-1.0.2-sol7-sparc-local.gz (安裝GD庫需要)
xpm-3.4k-sol7-sparc-local.gz (和GD庫相關)
把所有文件放在/export/home目錄下。
另外再建一個目錄,用於存放編譯好的二進位文件:
#mkdir /opt/soft
-------------------------------------------------
******************軟體解壓及預安裝***********************
由於solaris7的tar不認識-z選項,可先用WINZIP將gzip-1.3-sol7-sparc-local.gz
解壓成gzip-1.3-sol7-sparc-local再ftp到/export/home目錄下進行安裝。
#cd /export/home
#pkgadd -d gzip-1.3-sol7-sparc-local
注意pkgadd在安裝時會用到/var/tmp存放臨時文件,應保證該分區有足夠空間;
如果空間不夠,可按以下操作:
#mv /var/tmp /var/tmp_old
#ln -s /tmp /var (將/var/tmp link到/tmp)
解壓並預安裝部分軟體:
#gzip -d gcc-2.8.1-sol7-sparc-local.gz
#gzip -d libstdc++-2.8.1.1-sol7-sparc-local.gz
#gzip -d make-3.78.1-sol7-sparc-local.gz
#pkgadd -d gcc-2.8.1-sol7-sparc-local
#pkgadd -d libstdc++-2.8.1.1-sol7-sparc-local
#pkgadd -d make-3.78.1-sol7-sparc-local
#pkgadd -d zlib-1.1.3-sol7-sparc-local
#pkgadd -d jpeg-6b-sol7-sparc-local
#pkgadd -d libpng-1.0.2-sol7-sparc-local
#pkgadd -d xpm-3.4k-sol7-sparc-local
#gzip -dc gd-1.8.3.tar.gz |tar xvf - (將會建立目錄gd-1.8.3)
#gzip -dc php-4.0.2.tar.gz |tar xvf - (將會建立目錄php-4.0.2)
#gzip -dc apache_1.3.14.tar.gz |tar xvf - (將會建立目錄apache_1.3.14)
然後設置好路徑(注意前後順序)
#PATH=/usr/local/bin:/usr/bin:/usr/sbin:/usr/ucb:/usr/ccs/bin
#export PATH
至此,編譯PHP所需的系統環境已準備妥當。
-------------------------------------------------
===============安裝sybase 12.0並啟動SQL SERVER==================
此處略去sybase12.0安裝配置過程,sybase12.0安裝在/opt/sybase12目錄下。
在進行以下步驟前,應保證sybase已正常啟動運行。
-------------------------------------------------
********************* 安裝GD庫 *********************
#cd /export/home/gd-1.8.3
#vi Makefile
搜索X11R6,將全部的X11R6替換為X,存檔退出。
#make
#make install
GD庫安裝完畢。
如果編譯過程出現錯誤,一定要先
#make clean
然後再重新進行編譯(以下同)。
-------------------------------------------------
XXXXXXXXXXXXXXXXXXXXXX 安裝PHP4.02 XXXXXXXXXXXXXXXXXXXXXXX
#cd /export/home/apache_1.3.14
#./configure --prefix=/opt/soft/apache
(指定apache編譯后存放在/opt/soft/apache目錄下)
#cd ../php-4.0.2 (進入php4.0.2源代碼目錄)
#./configure --prefix=/opt/soft/php4 --with-apache=../apache_1.3.14
--with-mysql=no --with-sybase-ct=/opt/sybase12/OCS-12_0 -with-gd
-with-zlib-dir -with-jpeg-dir -with-png-dir -with-xpm-dir
--enable-track-vars
#make (編譯)
#make install (安裝)
php4.0.2安裝完畢
如果編譯出錯,仔細查看出錯信息。
如果提示沒有sybXXX.h之類的文件,可到
http://www.sybase.com.cn/htm/cpjs/r_cpbdb_c.htm去下載Solaris平台相應版
本的ebf文件,然後展開到sybase相應目錄下再進行編譯,如果沒有符合的版本,
找略高版本的代替。
-------------------------------------------------
++++++++++++++++++ 安裝Apache 1.3.14+++++++++++++++++++++
#cd /export/home/apache_1.3.14
#./configure --prefix=/opt/soft/apache
--activate-module=src/modules/php4/libphp4.a
#make
#make install

Apache 1.3.14完裝完畢

#cd ../php-4.0.2 (進入php4.0.2源代碼目錄)
#cp php.ini-dist /usr/local/lib/php.ini (拷貝PHP配置文件到指定目錄)
-------------------------------------------------
####################### 修改 httpd.conf ########################
#cd /opt/soft/apache/conf
#vi httpd.conf
去掉"AddType application/x-httpd-php .php" 前的"#"號,此時php就可以用了。
去掉"ServerName XXXXX"前的"#"號,此時Apache就可以順利啟動了。
查找index.html所在的行,在index.html後面增加"index.php"(不包含雙引號,且
index.html和index.php之間用空格隔開),此時Apache就可以按先index.html后
index.php的順序查找文件了。
-------------------------------------------------
********************* 修改PHP配置文件 *********************
#vi /usr/local/lib/php.ini
搜索default_charset,使其有效,並將其值改為 "gb2312"。
搜索sybase.interfaces_file,使其有效,並將其值改為"/opt/sybase12/interfaces"。
搜索sybct.min_server_severity,將其值改為"50"。
搜索sybct.min_client_severity,將其值改為"50"。
注意:修改完畢重起Apache伺服器時,執行以下2個步驟:
#/opt/soft/apache/bin/apachectl stop
等幾秒鐘后再執行
#/opt/soft/apache/bin/apachectl start
不要使用#kill -HUP 或#/opt/soft/apache/bin/apachectl restart重起
伺服器。另外,據報告Php4.0.3pl1有Apache伺服器不讀sybct.min_XXXXX_severity的
bug,所以本文編譯的是PHP4.0.2的正式發布版。
-------------------------------------------------
********************* 修改SYBASE12配置文件 *********************
#vi /opt/sybase12/interfaces
其內容看起來如下面的樣子:
SYBASE12
master tli tcp /dev/tcp x00021e84c0a800030000000000000000
query tli tcp /dev/tcp x00021e84c0a800030000000000000000

x00021e84c0a800030000000000000000的含義為:
x 表示十六進位
0002 表示乙太網(在Dec等機器上可能由於位元組順序不同而寫為0200)
1e84 表示SYBASE12監聽的服務埠號(十進位為7812)
c0a80003 表示SYBASE12的伺服器IP地址(點分法表示為192.168.0.3)
-------------------------------------------------
接下來修改客戶端默認字符集,使其和SYBASE12伺服器的字符集一致:
#vi /opt/sybase12/locales/locales.dat
找到sun_svr4所在的段,找到default所在的行:
locale = default, us_english, iso_1
將其改為:
locale = default, us_english, cp850
如果你的伺服器不是使用cp850字符集,請改為相應的字符集。本環境中SYBASE12和
客戶端均使用cp850字符集。服務端和客戶端字符集不匹配會出現亂碼(注意這裡所說
的客戶端是指Apache伺服器,而不是瀏覽器)。
然後在sybase12環境下使用
#isql -SSYBASE12 -Usa -P -Jcp850和
#isql -Usa -P測試字符集是否匹配。注意如果使用sybase client for Windows進行漢
字插/錄入,注意當時客戶端使用的字符集。
我在SYBASE字符集上花費了一整天時間才搞定,主要是沒有資料可供參考。PHP的網站
上說sybase_connect()有第四個參數可以設定Client的字符集,
調用方法為sybase_connect(ServerName,UserName,Password[,CharSet]),但是無論我
怎麼試都提示"參數數目不正確",經過和該函數的作者聯繫得知:
該函數只支持sybase-DB,不支持sybase-CT。
-------------------------------------------------
********************* 啟動Apache伺服器 *********************
如果要讓Apache監聽80埠,必須以root啟動httpd服務。
首先修改環境變數,使root具備sybase啟動需要的環境:
#cd
#vi .profile
在export PATH後面加入以下一行
. /opt/sybase12/SYBASE.sh
存檔退出。
#exit
以root重新登錄,執行
#/opt/soft/apache/bin/apachectl start (啟動Apache伺服器)
然後在/opt/soft/apache/htdocs目錄下建立一個文件index.php
內容為:

存檔退出。
#chown nobody index.php
#chgrp nobody index.php
打這個網址測試一下:http://ServerName
(ServerName即為httpd.conf中的ServerName)。
-------------------------------------------------
********************* 測試sybase資料庫 *********************
以webmaster的許可權登錄,編輯一個文件/opt/soft/apache/htdocs/test.php進行測試,
內容如下:
$servername = "SYBASE12";
$username = "sa";
$password = "";
$table = "chat";
$dbName = "www";
sybase_min_server_severity(50);
$dbHandle = sybase_connect($servername, $username, $password)
or die("連接資料庫失敗");
sybase_select_db("$dbName") or die( "在伺服器上找不到相應資料庫。");
$query = sprintf("select * from %s",$table);
$result = sybase_query($query);
if(!$result)die("查詢資料庫失敗!");
while($field = sybase_fetch_array($result))
{
printf("Database:%s
","www");
printf("Table:%s
","chat");
printf("Name:%s
",$field[name]);
printf("Date:%s
",$field[date]);
printf("Msg:%s

",$field[msg]);
}
sybase_close($dbHandle);

//測試非資料庫環境下的中文顯示。
echo "蒙古包的縷縷炊煙,輕輕地飄向藍天,茫茫的綠草地,是我生長的搖籃。
";
?>
資料庫的結構如下:
CREATE TABLE dbo.chat (
name varchar(15) NULL,
date datetime NULL,
msg varchar(200) NULL
)
-------------------------------------------------
********************* 測試GD庫 *********************
以webmaster的許可權登錄,編輯一個文件/opt/soft/apache/htdocs/gd.php進行測試,
內容如下:
Header("Content-type: image/png");
$im = imagecreate(400,30);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
imageline($im, 1, 1, 350, 25, $black);
imagearc($im, 200, 15, 20, 20, 35, 190, $white);
imagestring($im, 5, 4, 10, "Graph TEST!!", $white);
Imagepng($im);
ImageDestroy($im);
?>
1.6.2 版以前的 GD庫有支持 GIF 格式的功能,但因為 GIF 格式使用的 LZW 演演算法牽
涉到 Unisys 的專利權,因此在1.6.2版之後的 GD 庫不再支持 GIF 的格式。本文使用
的是1.8.3版的GD庫,因此對GIF格式不支持。

安裝配置SYBASE12.0不在本文討論範圍之內,請參考相關文章。
======================== The End =======================


[火星人 ] solaris7+php4.0.2+gd1.8.3+sybase12.0+apache1.3 安裝手冊已經有732次圍觀

http://coctec.com/docs/linux/show-post-68011.html