Hôm nay tôi muốn thêm vào trang web của mình hỗ trợ cho hình ảnh webp và vì vậy tôi đã tìm thấy một plugin cho wordpress đó là WebP Converter for Media miễn phí
Nhưng đối với plugin này, chúng ta phải kích hoạt webp hỗ trợ trên mô-đun php GD.
Trên VPS của tôi, tôi đã cài đặt PHP 7. 4 trên Plesk, cách đơn giản là thay đổi modulo gd của phiên bản plesk php bằng một mô-đun tùy chỉnh trong phù thủy hỗ trợ webp được bật.
Tôi đã tìm thấy hướng dẫn hữu ích này mà tôi đã viết lại bằng php 7. 4 mà tôi đã sử dụng trên VPS của mình.
Cài đặt gói cần thiết
# yum install make gcc plesk-php74-devel libjpeg-turbo-devel libpng-devel libXpm-devel freetype-devel libwebp-devel
Tải xuống nguồn PHP. Ghi chú. Phiên bản nguồn PHP phải giống với phiên bản Plesk PHP của bạn. Ví dụ, đối với PHP 7. 4. 4
# wget //be2.php.net/get/php-7.4.4.tar.gz/from/this/mirror # tar -xzf mirror # cd php-7.4.4/ext/gd
Biên dịch gd. vì vậy mô-đun
# /opt/plesk/php/7.4/bin/phpize # ./configure --with-php-config=/opt/plesk/php/7.4/bin/php-config --with-webp --with-freetype --with-jpeg --with-xpm # make
Thay thế Plesk PHP gd gốc. vì vậy mô-đun với biên dịch
# mv /opt/plesk/php/7.4/lib64/php/modules/gd.so /opt/plesk/php/7.4/lib64/php/modules/gd.so_orig # cp modules/gd.so /opt/plesk/php/7.4/lib64/php/modules/ # plesk bin php_handler --reread
Kiểm tra xem tất cả đều ổn
# /opt/plesk/php/7.4/bin/php -m | grep gd gd
Đừng quên thực hiện xóa giả gói plesk-php74-gd ban đầu. Nếu không, gd tùy chỉnh của bạn. vì vậy sẽ được ghi đè với bản cập nhật tiếp theo
# rpm -e --justdb plesk-php74-gd
Cuối cùng, hãy nhớ rằng bạn phải tiếp tục
Plesk -> Công cụ & Cài đặt -> Cài đặt PHP
Chọn Phiên bản PHP của bạn trong trường hợp này là PHP . 4. 4 và
- Xóa mô-đun GD và lưu
- Thêm mô-đun GD và lưu
Vì vậy, Plesk xây dựng lại php cho các miền
Bởi. CicciokrThẻ. gd php plesk webpĐịnh dạng webp cung cấp khả năng nén 28%
trên jpeg. nếu hình ảnh của bạn có kích thước 100 kb ở định dạng jpeg thì nó sẽ là ~72kb
ở định dạng webp
WebP chỉ hoạt động trên Chrome và Opera. Quix có hỗ trợ dự phòng cho Mozilla và các trình duyệt không được hỗ trợ khác. Khi
# wget //be2.php.net/get/php-7.4.4.tar.gz/from/this/mirror # tar -xzf mirror # cd php-7.4.4/ext/gd0 không tải được Quix sẽ tự động tải phiên bản
# wget //be2.php.net/get/php-7.4.4.tar.gz/from/this/mirror # tar -xzf mirror # cd php-7.4.4/ext/gd1
WebP không tải trên Chrome
Đảm bảo máy chủ của bạn được cấu hình đầy đủ để hỗ trợ WebP. Để định cấu hình WebP, vui lòng tham khảo ý kiến của nhà cung cấp dịch vụ lưu trữ của bạn
Hướng dẫn mà bạn có thể sử dụng khi nói chuyện với quản trị viên máy chủ của mình
- WebP cần thư viện PHP GD, nhưng vấn đề là thư viện GD mặc định sẽ không hỗ trợ WebP
- Để trang web của tôi có thứ hạng seo tốt hơn, bạn cần cài đặt PHP có bật WebP
- Đây là tài nguyên tôi tìm thấy trên internet
Trình cài đặt lib Yum php-gd [ https. // ma. tias. be/install-gd-library-for-php5-on-centos/ ]
Nguồn PHP sang nhị phân [ https. //nói chuyện. cầu xin. com/resources/how-to-compile-php-gd-so-module-with-webp-support. 4/ ]
Tôi đang gặp sự cố khi cố gắng chuyển đổi hình ảnh JPG sang WEBP bằng hàm imagewebp trong PHP. Phản hồi lỗi là "Gọi hàm không xác định imagewebp[]"
Sau rất nhiều nghiên cứu, tôi thấy rằng cần phải bật Hỗ trợ WebP trong ứng dụng web linux của mình. Hình ảnh này hiển thị tất cả tiện ích mở rộng GD mà tôi đã bật. Bạn có biết làm cách nào tôi có thể bật Hỗ trợ WebP để chức năng imagewebp[] hoạt động không?
Tôi thực hiện lệnh bên dưới trong SSH/kudu mà tôi tìm thấy trên google, nhưng không thành công. /
Lệnh.
apt-get update && apt-get install -y libwebp-dev && docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=
Lỗi.
/usr/src/php/ext/gd/libtool. dòng 1283. libgd/gd. nhiều. Không có tệp hoặc thư mục như vậy
mkdir libgd/. thư viện
mkdir. không thể tạo thư mục 'libgd/. thư viện'. Không có tệp hoặc thư mục
như vậy. *** [Tạo tệp. 197. libgd/gd. lo] Lỗi 1
Cảm ơn bạn rất nhiều vì bất kỳ hướng dẫn nào;]
azure-webapps
gd-hỗ trợ. png [11. 5 KiB]
Bình luận
Nhận xét · Hiển thị 5
Bình luận
5. Cần 1600 ký tự còn lại ký tự
▼
- Hiển thị cho tất cả người dùng
- Hiển thị với người đăng gốc & Microsoft
- Người kiểm duyệt có thể xem
- Có thể xem bởi người kiểm duyệt và người đăng gốc
- Khả năng hiển thị nâng cao
tệp đính kèm. Có thể sử dụng tối đa 10 tệp đính kèm [bao gồm cả hình ảnh] với tối đa 3. 0 MiB mỗi cái và 30. tổng cộng 0 MiB
Cảm ơn bạn đã đến đây. Nếu tôi hiểu đúng thì bạn muốn bật thư viện WebP và GD tiện ích mở rộng PHP trên linux Dịch vụ ứng dụng,
Bạn có thể thử sử dụng tập lệnh khởi động bên dưới không.
apt-get update
apt-get install -y libwebp-dev libjpeg62-turbo-dev libpng-dev libxpm-dev libfreetype6-dev
docker-php-ext-configure gd --with-gd --with-webp --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf
docker-php-ext-install gd
apache2ctl -D FOREGROUND
Xem. Dịch vụ ứng dụng Azure Linux - Thêm phần mở rộng PHP
Hãy cho chúng tôi biết
0 Phiếu bầu 0 ·
Xin chào @SnehaAgrawal-MSFT
Cảm ơn bạn rất nhiều vì đã cố gắng giúp đỡ với vấn đề này. Tôi thực thi lệnh này trong SSH và tiện ích mở rộng WebP tiếp tục không được bật
Khi tôi thực thi dòng "docker-php-ext-configure gd --with-gd --with-webp --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm
CẢNH BÁO. tùy chọn không được công nhận. --with-jpeg-dir --with-png-dir --with-zlib-dir --with-xpm-dir --with-freetype-dir --enable-gd-native-ttf
Tôi đã thay đổi dòng này thành bên dưới vì tôi nghĩ rằng phiên bản PHP của tôi đã thay đổi điều gì đó
docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype
Nhưng, khi tôi chạy "docker-php-ext-install gd", tôi vẫn nhận được lỗi này khi kết thúc quá trình thực thi
/usr/src/php/ext/gd/libtool. dòng 1283. libgd/gd. nhiều. Không có tệp hoặc thư mục như vậy
mkdir libgd/. thư viện
mkdir. không thể tạo thư mục 'libgd/. thư viện'. Không có tập tin hoặc thư mục như vậy
thực hiện. [Tạo tệp. 197. libgd/gd. lo] Lỗi 1
Để hoàn thành hướng dẫn, tôi chạy lệnh "apache2ctl -D FOREGROUND" và sau đó tôi gọi phpinfo và webP vẫn không được bật
Sau này, tôi đã xem qua tại bài viết này
https. //livtutor. com/enable-webp-support-php-7/
Tôi thực hiện hướng dẫn này và đạt được mục tiêu sử dụng chức năng imagewebp. Nếu bạn biết vấn đề xảy ra với các lệnh là gì và có bất kỳ đề xuất nào về cách chạy imagewebp gốc, vui lòng cho tôi biết
Cảm ơn vì đã dành thời gian cho tôi
0 Phiếu bầu 0 ·
SnehaAgrawal-MSFT DouglasOliveira-9221 · 02 tháng 8 lúc 07. 04 giờ sáng
@DouglasOliveira-9221
Bạn có thể cài đặt/bật hỗ trợ webP [với gd] thông qua lệnh/tập lệnh khởi động
Sử dụng lệnh dưới đây đã có thể làm cho nó chạy
apt update
apt install libfreetype6-dev libjpeg62-turbo-dev libwebp-dev libpng-dev
docker-php-ext-configure gd --with-webp --with-jpeg --with-freetype
docker-php-ext-install gd
Như bạn có thể thấy từ php -r "var_dump[gd_info[]];" .
array[14] {
["GD Version"]=>
string[26] " gộp [2. 1. 0 tương thích]"
["Hỗ trợ FreeType"]=>
bool[true]
["Liên kết FreeType"]=
string[13] "with freetype"
["GIF Read Support"]=>
bool[true]
["GIF Create Support"]=>
bool[true]
["JPEG Support"]=>
bool[true]
["PNG Support"]=>
bool[true]
["WBMP Support"]=>
bool[true]
["XPM Support"]=>
bool[false]
["XBM Support"]=>
bool[true]
["WebP Support"]=>
bool[true]
["BMP Support"]=>
bool[true]
["TGA Read Support"]=>
bool[true]
["JIS-mapped Japanese Font Support"]=>
bool[false]
}
Hãy cho chúng tôi biết
0 Phiếu bầu 0 ·
DouglasOliveira-9221 SnehaAgrawal-MSFT · 02 tháng 8 lúc 02. 29 giờ tối
Xin chào @SnehaAgrawal-MSFT
Cảm ơn, nhưng tôi vẫn gặp lỗi không thể tạo thư mục 'libgd/. thư viện'. Không có tệp hoặc thư mục như vậy khi tôi thực thi lệnh cuối cùng docker-php-ext-install gd và hỗ trợ webP vẫn còn trong ["Hỗ trợ WebP"]=>bool[false] khi tôi chạy lệnh php -r "var_d ump[gd_info
Nếu bạn muốn tạo lại lỗi này, vui lòng làm theo các bước sau
1 - Trong cổng Azure, tạo gói dịch vụ ứng dụng mới với Tên=Appsvcplan-webp, Vùng=Central US, Operational System=Linux, Princing Tier=Basic B1;
2 - Tạo một dịch vụ ứng dụng với Name=webappwebp, Publish=Code, Runtime stack=PHP 7. 4, Hệ điều hành=Linux, Khu vực=Trung Mỹ, Gói Linux=Appsvcplan-webp;
3 - Mở url https. //webappwebp. scm. trang web azure. net/, mở SSH và gõ lệnh
a. cập nhật apt
b. apt cài đặt libfreetype6-dev libjpeg62-turbo-dev libwebp-dev libpng-dev
c. docker-php-ext-configure gd --with-webp --with-jpeg --with-freetype
d. docker-php-ext-cài đặt gd
Bạn sẽ thấy lỗi không thể tạo thư mục 'libgd/. thư viện'. Không có tệp hoặc thư mục như vậy - hãy tạo. [Tạo tệp. 197. libgd/gd. lo] Lỗi 1 khi thực hiện lệnh cuối cùng và hỗ trợ webp không được bật khi tôi gõ lệnh php -r "var_d ump[gd_info[]];"*
Bạn có biết nếu tôi thiếu một cái gì đó?
*Xin lỗi vì lệnh "var_d ump", nếu tôi viết tất cả cùng nhau thì bình luận của tôi sẽ không được đăng. /
Trân trọng
0 Phiếu bầu 0 ·
@SnehaAgrawal-MSFT Làm theo hướng dẫn của bạn, tôi gặp lỗi tương tự như Douglas. Bạn có bất cứ đề nghị bổ sung?