Image/setup-Phpdoc专题
安装/配置
目录
需求
如果你有 GD 库(可从 » http://www.libgd.org/ 获得), 你就可以创建 和处理图像。
可以处理的图像格式由你所使用的 GD 库版本 以及 GD 库可能需要的其他库决定。 在 gd-2.0.28 中,提供了对 GIF 格式的支持。
Note: 要求 libgd-2.0.4 或更高版本, PHP 5.5 要求 libgd-2.1.0 或更高版本。 你也可以使用 PHP 中绑定的 GD 库。
你可能希望增强 GD 库以处理更多的图像格式。
| 图像格式 | 需要下载的库 | 备注 |
|---|---|---|
| gif | 仅在 gd-2.0.28 及更高版本的 GD 库提供支持, 从 PHP 5.0.1 开始支持 写入 操作。 | |
| jpeg | » http://www.ijg.org/ | 在构建 PHP 之前, 需要在配置步骤使用 --enable-shared 选项来构建 jpeg 库。 如果不使用此选项,那么在构建 PHP 时的配置环节, 会产生 libjpeg.(a|so) not found 的错误。 |
| png | » http://www.libpng.org/pub/png/libpng.html | |
| xpm | » ftp://metalab.unc.edu/pub/Linux/libs/X/!INDEX.html | 如果你的系统中已经安装了 X 环境, 就已经包含这个库了。 |
你可能希望增强 GD 库来使用不同的字体。 下列字体库是受支持的:
| 字体库 | 下载 | 备注 |
|---|---|---|
| FreeType 1.x | » http://www.freetype.org/ | 从 PHP 5.3.0 开始,不再提供对 FreeType 1.x 的支持。 |
| FreeType 2 | » http://www.freetype.org/ | |
| T1lib | » ftp://sunsite.unc.edu/pub/Linux/libs/graphics/) | 支持 Postscript Type 1 字体(在 PHP 7.0.0 中移除)。 |
安装
要激活 GD 支持,配置 PHP 时加上 --with-gd[=DIR],DIR 是 GD 的基本安装目录。要使用推荐的绑定的 GD 库版本(首次绑定于 PHP 4.3.0),使用 --with-gd。要编译 GD 库,需要<span class="productname">libpng 和 <span class="productname">libjpeg。
在 Windows 中,需要将 GD2 的 DLL 文件 php_gd2.dll 作为一个扩展包含在
php.ini 中。GD1 的 DLL 文件 php_gd.dll 在 PHP 4.3.2
中被删除了。此外要注意首选的真彩色图像函数,例如 <span
class="function">imagecreatetruecolor,需要 GD2。
Note:
要在 Windows 下启用 exif,在
php.ini中 php_mbstring.dll 必须在 php_exif.dll 之前加载。
要在 PHP 3 中禁止 GD 支持,在配置时加上 --without-gd。
要增强 GD 的能力以处理更多的图像格式,在配置 PHP 时指定 --with-XXXX 的配置开关。
| 图像格式 | 配置开关 |
|---|---|
| jpeg-6b | 要激活 jpeg-6b 的支持,加上 --with-jpeg-dir=DIR. |
| png | 要激活 png 的支持,加上 --with-png-dir=DIR。注意,libpng 需要 zlib library,因此配置中还要加上 --with-zlib-dir[=DIR]。 |
| xpm | 要激活 xpm 的支持,加上 --with-xpm-dir=DIR。如果配置时提示找不到所需要的库,可以加上到 X11 库的路径。 |
Note: 当把 PHP 和 libpng 一起编译时,必须使用和 GD 库连接的同一个版本。
要增强 GD 的能力以处理更多的字体,在配置 PHP 时指定 --with-XXXX 的配置开关。
| 字库 | 配置开关 |
|---|---|
| FreeType 1.x | 要激活 FreeType 1.x 的支持,加上 --with-ttf[=DIR]。 |
| FreeType 2 | 要激活 FreeType 2 的支持,加上 --with-freetype-dir=DIR。 |
| T1lib | 要激活 T1lib(Type 1 字体),加上 --with-t1lib[=DIR]。 |
| 本地 TrueType 字符串函数 | 要激活本地 TrueType 字符串函数的支持,加上 --enable-gd-native-ttf。 |
运行时配置
这些函数的行为受 php.ini 中的设置影响。
| 名字 | 默认 | 可修改范围 | 更新日志 |
|---|---|---|---|
| gd.jpeg_ignore_warning | "1" | PHP_INI_ALL |
有关 PHP_INI_* 样式的更多详情与定义,见 配置可被设定范围。
这是配置指令的简短说明。
gd.jpeg_ignore_warning bool
Ignore warnings (but not errors) created by libjpeg(-turbo).
| 版本 | 说明 |
|---|---|
| 7.1.0 | gd.jpeg_ignore_warning 默认值从 0 变更为 1。 |
参见 exif 配置。
Warning
图片处理函数相当占用内存,请确保你的 memory_limit 设置。
资源类型
本扩展定义了 2 个资源类型:
| 名称 | 描述 | 说明 |
|---|---|---|
| gd | 图像资源,由 imagecreatefrompng 等函数使用 | |
| gd font | 由 imageloadfont 函数内部创建的字体资源 | |
| gd PS font | PostScript Type 1 字体资源,由 imagepsloadfont 函数返回 | 在 PHP 7.0.0 中被移除。 |
| gd PS encoding | PostScript Type 1 编码资源,由 imagepsencodefont 函数返回 | 在 PHP 7.0.0 中被移除。 |