當前位置:首頁 » 編程語言 » phpwithgd

phpwithgd

發布時間: 2024-09-11 02:32:34

⑴ Centos php 擴展方式安裝gd庫的方法

網站的第二台伺服器跑的的環境主要是Python/Ruby,有時也需要簡單跑跑PHP腳本,所以也安裝了PHP,環境是Nginx+php-fpm,PHP是源碼編譯安裝的,所以是最小化安裝,甚至連mysqli擴展都沒有。今天需要用到GD庫,才發現沒GD庫環境,所以需要安裝這個擴展。對付單個擴展,單獨編譯動態載入是比較方便快捷的。安裝過程也比較繁雜,這個記錄一下,方便後來者。

首先說明,我的PHP是源碼編譯安裝的,可以參看 以源碼編譯的方式安裝PHP與php-fpm。

先安裝 gd 前置庫 : freetype ,jpegsrc,libpng。

1. freetype

復制代碼

   

代碼如下:

wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2"

   tar jxvf freetype-2.4.0.tar.bz2

   cd freetype-2.4.0

   ./configure --prefix=/usr/local/freetype make make install

2. jpegsrc

復制代碼

   

代碼如下:

wget "http://www.ijg.org/files/jpegsrc.v9.tar.gz"

   tar zxvf jpegsrc.v9.tar.gz

   cd jpeg-9

   CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg make make install

   mkdir -p /usr/local/jpeg/include

   mkdir -p /usr/local/jpeg/lib

   mkdir -p /usr/local/jpeg/bin

   mkdir -p /usr/local/jpeg/man/man1

3. libpng

復制代碼

   

代碼如下:

wget "http://downloads.sourceforge.net/project/libpng/libpng12/1.2.50/libpng-1.2.50.tar.gz?r=http%3A%2F%2Fwww.libpng.org%2Fpub%2Fpng%2Flibpng.htmlts=1376631135use_mirror=nchc"

   tar zxvf libpng-1.2.50.tar.gz

   cd libpng-1.2.50

   CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng make make install

接下來需要cd到php源碼的 gd 目錄,否則會報 cannot find config.m4 之類的錯誤。

復制代碼

   

代碼如下:

cd php-5.3.6

   cd ext

   cd gd

然後再這個目錄執行命令 /usr/local/php/bin/phpize。什麼時候需要用到 phpize 呢?當我們需要再加些模塊,又不想重新編譯php,這些我們就可以用phpize了。我的PHP安裝在 /usr/local/php/ 這個目錄里,可以根據個人情況修改。

復制代碼

   

代碼如下:

/usr/local/php/bin/phpize

現在可以進行單獨編譯安裝了:

復制代碼

   

代碼如下:

./configure --with-php-configure=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype

   或者

   ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype

   make make install

接著修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so

重啟 Nginx 之後再看看是否安裝成功了。再執行 /usr/local/php/bin/php -m 查看gd模塊是否載入成功。

復制代碼

   

代碼如下:

service nginx restart

   /usr/local/php/bin/php -m

console列出:

復制代碼

   

代碼如下:

[root@nowamagic gd]# /usr/local/php/bin/php -m

   [PHP Moles]

   Core

   ctype

   date

   dom

   ereg

   fileinfo

   filter

   gd

   ……

看到gd了,說明gd庫安裝成功。

接下來只要重啟 php-fpm 即可:

復制代碼

   

代碼如下:

killall php-fpm

   /usr/local/php/sbin/php-fpm

phpinfo()一下,看看。

OK,安裝成功。

linux系統如何讓php使用GD庫函數

linux下為php添加GD庫的步驟如下:

一、下載

gd-2.0.33.tar.gz http://www.boutell.com/gd/
jpegsrc.v6b.tar.gz http://www.ijg.org/
libpng-1.2.7.tar.tar http://sourceforge.net/projects/libpng/
zlib-1.2.2.tar.gz http://sourceforge.net/projects/zlib/
freetype-2.1.9.tar.gz http://sourceforge.net/projects/freetype/
php-4.3.9.tar.gz http://www.php.net

二、安裝

1.安裝zlib

tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure
make
make install

2.安裝libpng

tar zxvf libpng-1.2.7.tar.tar
cd libpng-1.2.7
cd scripts/
mv makefile.linux ../makefile
cd ..
make
make install
注意,這里的makefile不是用./configure生成,而是直接從scripts/里拷一個

3.安裝freetype

tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure
make
make install

4.安裝Jpeg

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure --enable-shared
make
make test
make install
注意,這里configure一定要帶--enable-shared參數,不然,不會生成共享庫

5.安裝GD

tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --with-png --with-freetype --with-jpeg
make install

6.重新編譯PHP

tar zxvf php-4.3.9.tar.gz
cd php-4.3.9
./configure (以前的參數) --with-gd --enable-gd-native-ttf --with-zlib --with-png --with-jpeg --with-freetype --enable-sockets
make
make install

<?php
phpinfo();
?>

Ok.....

⑶ 如何檢測系統是否支持GD庫

開啟GD庫支持有以下幾種方法 檢測GD庫是否安裝命令 php5 -m grep -i gd 或者 php -i grep -i --color gd如未安裝GD庫,則為伺服器安裝,方法如下 如果是源碼安裝,則加入參數 --with-gd 如果是debian系的linux系統,用apt-get安裝,如下 apt-get install php5-gd 如果是CentOS系的系統,用yum安裝,如下 yum install php-gd 如果是suse系的linux系統,用yast安裝,如下 yast -i php5_gd 如果嫌這個世界不夠蛋疼呢,可以在原先編譯PHP不支持GD的情況下附加 先下zlib源碼,libpng源碼,gd源碼 解壓後到源碼目錄 zlib目錄 ./configure --prefix=/usr/local/zlib make ; make install make clean libpng目錄 cp scripts/makefile.linux ./makefile ./configure --prefix=/usr/local/libpng make ; make install make clean gd目錄 ./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng make ; make install make clean 最後在php.ini中,搜到[gd]後,在下面加一行 extension=/usr/local/libgdgd.so 然後重啟php服務,如果不行,試試reboot 所以如果是源碼安裝,最好還是在編譯PHP的時候加參數--with-gd Windows下開啟PHP的GD庫支持 找到php.ini,打開內容,找到: ;extension=php_gd2.dll 把最前面的分號「;」去掉,再保存即可,如果本來就沒有分號,那就是已經開啟了。

⑷ Linux 源代碼包配置PHP時出錯:configure: error: GD build test failed. Please check the config.log

./configure --prefix=/usr/毀侍模悄local/php/ --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/纖碼吵usr/local/php/lib/ --with-config-file-scan-dir=/usr/local/etc/ --with-zlib --with-curl --enable-bcmath --with-jpeg-dir --with-png-dir --with-xpm-dir --with-freetype-dir --with-gd --with-mhash --enable-mbstring --with-mcrypt --with-libxml-dir --with-iconv-dir --with-pcre-dir --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd
看一下是不是有庫不全?

⑸ linux PHP5.2.5 編譯安裝gd庫 ./configure 應該加什麼參數 --enable-gd 或 --with-gd 均無效

如果 gd 是 rpm 安裝的, 那就直接 --with-gd
如果 gd 是編譯安裝的, 那麼 --with-gd=/usr/local/gd
後面接 gd 的安裝路徑, 能看懂吧??

⑹ 如何在PHP中開啟GD庫支持詳解

開啟GD庫是php中一個重要的參數,常用來處理圖像,像圖片的任何處理都需要GD庫的支持,下面我來介紹各種系統中GD庫的開啟方法與命令,大家可參考。

Windows下開啟PHP的GD庫支持
找到php.ini,打開內容,找到:
;extension=php_gd2.dll
把最前面的分號「;」去掉,再保存即可,如果本來就沒有分號,那就是已經開啟了。
Linux下開啟PHP的GD庫支持
#開啟GD庫支持有以下幾種方法
##檢測GD庫是否安裝命令
php5 -m | grep -i gd
或者
php -i | grep -i --color gd
##如未安裝GD庫,則為伺服器安裝,方法如下
### 如果是源碼安裝,則加入參數
--with-gd
### 如果是debian系的linux系統,用apt-get安裝,如下
apt-get install php5-gd
### 如果是CentOS系的系統,用yum安裝,如下
yum install php-gd
### 如果是suse系的linux系統,用yast安裝,如下
yast -i php5_gd
### 如果嫌這個世界不夠蛋疼呢,可以在原先編譯PHP不支持GD的情況下附加
先下zlib源碼,libpng源碼,gd源碼
解壓後到源碼目錄
zlib目錄
./configure --prefix=/usr/local/zlib
make ; make install
make clean
libpng目錄
cp scripts/makefile.linux ./makefile
./configure --prefix=/usr/local/libpng
make ; make install
make clean
gd目錄
./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng
make ; make install
make clean
最後在php.ini中,搜到[gd]後,在下面加一行
extension=/usr/local/libgdgd.so
然後重啟php服務,如果不行,試試reboot
好了,不過最後提醒一下,要知道這個世界很多意外的,源碼安裝,只添加gd庫這一個情況下,PHP版本和庫的版本各異
,所以:
- 不保證這么付出了這么多後有回報
- 不保證能夠成功載入gd.so
- 不保證不懷孕
所以如果是源碼安裝,最好還是在編譯PHP的時候加參數--with-gd

GD庫函數
GetImageSize
作用:取得圖片的大小[即長與寬] 用法:array GetImageSize(string filename, array [imageinfo]);
ImageArc
作用:畫弧線 用法:int ImageArc(int im, int cx, int cy, int w, int h, int s, int e, int col);
ImageChar
作用:寫出橫向字元 用法:int ImageChar(int im, int font, int x, int y, string c, int col);
ImageCharUp
作用:寫出豎式字元 用法:int ImageCharup(int im, int font, int x, int y, string c, int col);
ImageColorAllocate
作用:匹配顏色 用法:int ImageColorAllocate(int im, int red, int green, int blue);

ImageColorTransparent
作用:指定透明背景色 用法:int ImageColorTransparent(int im, int [col]);

ImageCopyResized
作用:復制新圖並調整大小 用法:int ImageCopyResized(int dst_im, int src_im, int dstX, int dstY, int srcX,
int srcY, int dstW, int dstH, int srcW, int srcH);

ImageCreate
作用:建立新圖 用法:int ImageCreate(int x_size, int y_size);

ImageDashedLine
作用:繪虛線 用法:int ImageDashedLine(int im, int x1, int y1, int x2, int y2, int col);
ImageDestroy 作用:結束圖形 用法解釋:int ImageDestroy(int im);

ImageFill
作用:圖形著色 用法:int ImageFill(int im, int x, int y, int col);
ImageFilledPolygon作用:多邊形區域著色 用法:int ImageFilledPolygon(int im, array points, int num_points,
int col);

ImageFilledRectangle作用:矩形區域著色 用法:int ImageFilledRectangle(int im, int x1, int y1, int x2, int
y2, int col);

ImageFillToBorder作用:指定顏色區域內著色 用法:int ImageFillToBorder(int im, int x, int y, int border,
int col);

ImageFontHeight
作用:取得字型的高度 用法:int ImageFontHeight(int font);

ImageFontWidth作用:取得字型的寬度 用法:int ImageFontWidth(int font);

ImageInterlace作用:使用交錯式顯示與否 用法:int ImageInterlace(int im, int [interlace]);

ImageLine作用:繪實線 用法:int ImageLine(int im, int x1, int y1, int x2, int y2, int col);

ImageLoadFont作用:載入點陣字型 用法:int ImageLoadFont(string file);

ImagePolygon作用:繪多邊形 用法:int ImagePolygon(int im, array points, int num_points, int col);

ImageRectangle作用:繪矩形 用法:int ImageRectangle(int im, int x1, int y1, int x2, int y2, int col);

ImageSetPixel作用:繪點 用法:int ImageSetPixel(int im, int x, int y, int col); ImageString 作用:繪橫式
字元串 用法:int ImageString(int im, int font, int x, int y, string s, int col);

ImageStringUp作用:繪直式字元串 用法:int ImageStringUp(int im, int font, int x, int y, string s, int
col);

ImageSX
作用:取得圖片的寬度 用法:int ImageSX(int im);

ImageSY
作用:取得圖片的高度 用法:int ImageSY(int im);

ImageTTFBBox
作用:計算 TTF 文字所佔區域 用法:array ImageTTFBBox(int size, int angle, string fontfile, string text);

ImageTTFText作用:寫 TTF 文字到圖中 用法:array ImageTTFText(int im, int size, int angle, int x, int y,
int col, string fontfile, string text); ImageColorAt 作用:取得圖中指定點顏色的索引值 用法:int
ImageColorAt(int im, int x, int y);

ImageColorClosest
作用:計算色表中與指定顏色最接近者 用法:int ImageColorClosest(int im, int red, int green, int blue);

ImageColorExact
作用:計算色表上指定顏色索引值 用法:int ImageColorExact(int im, int red, int green, int blue);

ImageColorResolve
作用:計算色表上指定或最接近顏色的索引值 用法:int ImageColorResolve(int im, int red, int green, int
blue);
ImageColorSet
作用:設定色表上指定索引的顏色 用法:boolean ImageColorSet(int im, int index, int red, int green, int
blue); ImageColorsForIndex 作用:取得色表上指定索引的顏色 用法:array ImageColorsForIndex(int im, int
index);

ImageColorsTotal
作用:計算圖的顏色數 用法:int ImageColorsTotal(int im); ImagePSLoadFont 作用:載入 PostScript 字型 用法
:int ImagePSLoadFont(string filename);

ImagePSFreeFont
作用:卸下 PostScript 字型 用法:void ImagePSFreeFont(int fontindex);

ImagePSEncodeFont
作用:PostScript 字型轉成向量字 用法:int ImagePSEncodeFont(string encodingfile);

ImagePSText作用:寫 PostScript 文字到圖中 用法:array ImagePSText(int image, string text, int font, int
size, int foreground, int background, int x, int y, int space, int tightness, float angle, int
antialias_steps);

ImagePSBBox作用:計算 PostScript 文字所佔區域 用法: array ImagePSBBox(string text, int font, int size,
int space, int width, float angle);

ImageCreateFromPNG作用:取出 PNG 圖型 用法:int ImageCreateFromPng(string filename);

ImagePNG作用:建立 PNG 圖型 用法:int ImagePng(int im, string [filename]);

ImageCreateFromGIF作用:取出 GIF 圖型 用法:int ImageCreateFromGif(string filename);

ImageGIF作用:建立 GIF 圖型 用法:int ImageGif(int im, string [filename]);

⑺ 如何在PHP中開啟GD庫支持

Windows下開啟PHP的GD庫支持
找到php.ini,打開內容,找到:
;extension=php_gd2.dll
把最前面的分號「;」去掉,再保存即可,如果本來就沒有分號,那就是已經開啟了。
Linux下開啟PHP的GD庫支持
#開啟GD庫支持有以下幾種方法
##檢測GD庫是否安裝命令
php5 -m | grep -i gd
或者
php -i | grep -i --color gd
##如未安裝GD庫,則為伺服器安裝,方法如下
### 如果是源碼安裝,則加入參數
--with-gd
### 如果是debian系的linux系統,用apt-get安裝,如下
apt-get install php5-gd
### 如果是CentOS系的系統,用yum安裝,如下
yum install php-gd
### 如果是suse系的linux系統,用yast安裝,如下
yast -i php5_gd
### 如果嫌這個世界不夠蛋疼呢,可以在原先編譯PHP不支持GD的情況下附加
先下zlib源碼,libpng源碼,gd源碼
解壓後到源碼目錄
zlib目錄
./configure --prefix=/usr/local/zlib
make ; make install
make clean
libpng目錄
cp scripts/makefile.linux ./makefile
./configure --prefix=/usr/local/libpng
make ; make install
make clean
如果還有不明白的話咱倆可以一起去後盾人,找找看相關教材看看不就會了,希望能幫到你,給個採納吧謝謝

熱點內容
無線路由器有限的訪問許可權 發布:2024-10-11 11:20:58 瀏覽:142
百度文字識別編譯 發布:2024-10-11 11:10:29 瀏覽:675
伺服器封了ip 發布:2024-10-11 11:10:25 瀏覽:237
ae表達式修復腳本 發布:2024-10-11 11:10:25 瀏覽:199
流言傳播演算法 發布:2024-10-11 10:35:27 瀏覽:178
爐料存儲圖片 發布:2024-10-11 10:35:24 瀏覽:188
電腦配置低怎麼開雷電 發布:2024-10-11 10:26:55 瀏覽:551
口袋妖怪日月伺服器爆滿了怎麼辦 發布:2024-10-11 10:18:13 瀏覽:974
加密勒索 發布:2024-10-11 10:04:53 瀏覽:39
存儲卡有兩個分區該怎麼合並 發布:2024-10-11 09:26:50 瀏覽:913