CentOS 7 是一個流行的 Linux 操作系統(tǒng),廣泛用于搭建 web 服務(wù)器。在搭建 web 服務(wù)器時,經(jīng)常需要使用 php gd 庫來處理圖像。然而,CentOS 7 默認情況下并沒有啟用 php gd 庫,需要手動開啟。本文將詳細介紹在 CentOS 7 上如何開啟 php gd 庫。
開啟 php gd 庫的第一步是安裝 gd 庫的依賴,并重啟 Apache 服務(wù)器。在 CentOS 7 上,可以通過以下命令安裝 gd 庫的依賴:
sudo yum install -y libpng-devel libjpeg-dev libpng-dev freetype-devel
安裝完依賴后,需要編輯 php.ini 文件,啟用 php gd 擴展。可以使用以下命令找到 php.ini 文件的位置:
php --ini
找到 php.ini 文件后,使用文本編輯器打開該文件:
sudo vi /etc/php.ini
在打開的 php.ini 文件中,搜索并找到以下行:
;extension=gd.so
將該行修改為:
extension=gd.so
保存并關(guān)閉 php.ini 文件。接下來,需要重啟 Apache 服務(wù)器,使配置修改生效:
sudo systemctl restart httpd
現(xiàn)在,php gd 庫已經(jīng)成功開啟。接下來,我們來舉幾個例子,演示如何在 PHP 腳本中使用 gd 庫。
第一個例子是創(chuàng)建縮略圖。假設(shè)原始圖片路徑為/var/www/html/images/image.jpg,我們想要創(chuàng)建寬度為 200px 的縮略圖,并保存為/var/www/html/images/thumbnail.jpg。可以使用以下代碼實現(xiàn):
<?php $src = '/var/www/html/images/image.jpg'; $dst = '/var/www/html/images/thumbnail.jpg'; $thumb_width = 200; $thumb_height = 200; list($width,$height) = getimagesize($src); $thumb = imagecreatetruecolor($thumb_width,$thumb_height); $source = imagecreatefromjpeg($src); imagecopyresized($thumb, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height); imagejpeg($thumb, $dst, 90); ?>
在上面的代碼中,首先獲取原始圖片的尺寸。然后,創(chuàng)建一個指定寬度和高度的空白畫布。接著,從原始圖片創(chuàng)建一個新的圖像資源。通過調(diào)用 imagecopyresized 函數(shù)將原始圖片縮放到指定的大小,并將結(jié)果保存到縮略圖路徑。最后,使用 imagejpeg 函數(shù)將縮略圖保存到磁盤上。
第二個例子是給圖片加上水印。假設(shè)原始圖片路徑為/var/www/html/images/image.jpg,水印圖片路徑為/var/www/html/images/watermark.png,我們想要將水印添加到原始圖片上,并保存為/var/www/html/images/watermarked_image.jpg??梢允褂靡韵麓a實現(xiàn):
<?php $src = '/var/www/html/images/image.jpg'; $dst = '/var/www/html/images/watermarked_image.jpg'; $watermark = '/var/www/html/images/watermark.png'; $source = imagecreatefromjpeg($src); $mark = imagecreatefrompng($watermark); $mark_width = imagesx($mark); $mark_height = imagesy($mark); imagecopy($source, $mark, imagesx($source) - $mark_width - 10, imagesy($source) - $mark_height - 10, 0, 0, $mark_width, $mark_height); imagejpeg($source, $dst, 90); ?>
在上面的代碼中,首先從原始圖片和水印圖片分別創(chuàng)建圖像資源。獲取水印圖片的寬度和高度。通過調(diào)用 imagecopy 函數(shù)將水印添加到原始圖片上。最后,使用 imagejpeg 函數(shù)將水印圖片保存為新的圖片。
通過以上幾個例子,我們可以看到啟用 php gd 庫后,能夠方便地處理圖像,實現(xiàn)各種功能。希望本文對于在 CentOS 7 上開啟 php gd 庫有所幫助。