如何正确配置GD对PHP的支持?我在调用imagettfbbox()时遇到错误 [英] How can I correctly configure GD support for PHP? I am getting an error calling imagettfbbox()

查看:113
本文介绍了如何正确配置GD对PHP的支持?我在调用imagettfbbox()时遇到错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将Symfony2.0和Gregwar Captcha捆绑软件用于Symfony 2.0
操作系统:Mac OS 10.10(Yosemite)

Using Symfony2.0 and Gregwar Captcha Bundle for Symfony 2.0 Operating System: Mac OS 10.10 (Yosemite)

按照说明安装CaptchaBundle后,我第一次使用它,会遇到以下错误:

After having installed the CaptchaBundle following the instructions, the first time I use it, I get the following error:


致命错误:调用未定义函数
Gregwarreg
中的CaptchaBundle\Generator\imagettfbbox()/Users/pgbonino/Sites/preparatest/vendor/bundles/Gregwar/CaptchaBundle/Generator/CaptchaGenerator.php
在第176行

Fatal error: Call to undefined function Gregwar\CaptchaBundle\Generator\imagettfbbox() in /Users/pgbonino/Sites/preparatest/vendor/bundles/Gregwar/CaptchaBundle/Generator/CaptchaGenerator.php on line 176

我的phpinfo告知:

My phpinfo informs this:

<h2><a name="module_gd">gd</a></h2>
<table border="0" cellpadding="3" width="600">
<tbody><tr><td class="e">GD Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GD Version </td><td class="v">bundled (2.1.0 compatible) </td></tr>
<tr><td class="e">GIF Read Support </td><td class="v">enabled </td></tr>
<tr><td class="e">GIF Create Support </td><td class="v">enabled </td></tr>
<tr><td class="e">JPEG Support </td><td class="v">enabled </td></tr>
<tr><td class="e">libJPEG Version </td><td class="v">9 compatible </td></tr>
<tr><td class="e">WBMP Support </td><td class="v">enabled </td></tr>
<tr><td class="e">XBM Support </td><td class="v">enabled </td></tr>
</tbody></table>

显然,GD模块已正确加载。

So, apparently the GD module is correctly loaded.

对我得到的错误有任何想法吗?

Any idea on the error I am getting?

推荐答案

比较您的phpinfo()输出给我我发现尽管GD处于活动状态,但您的帽子没有安装FreeType。 imagettfbbox()上的PHP文档表示该功能需要GD库和FreeType库。

Comparing your phpinfo() output to mine I find that although GD is active FreeType is missing in your PHP installation. The PHP docs on imagettfbbox() say that "This function requires both the GD library and the FreeType library."

这是我的phpinfo()的相应部分:

Here is the corresponding section of my phpinfo():

gd

GD Support  enabled
GD Version  bundled (2.1.0 compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.5.3
GIF Read Support    enabled
GIF Create Support  enabled
JPEG Support    enabled
libJPEG Version 8
PNG Support enabled
libPNG Version  1.6.13
WBMP Support    enabled
XBM Support enabled

在phpinfo开头的 Configure Command 块也应该列出自由类型:

The Configure Command block at the beginning of phpinfo should list freetype too:


'./ configure' '--prefix = / usr / local / Cellar / php55 / 5.5.18''--localstatedir = / usr / local / var''--sysconfdir = / usr / local / etc / php / 5。 5''--with-config-file-path = / usr / local / etc / php / 5.5''--with-config-file-scan-dir = / usr / local / etc / php / 5.5 / conf。 d''--with-iconv-dir = / usr''--enable-dba''--with-ndbm = / usr''--enable-exif''--enable-intl''--enable- soap''--enable-wddx''--enable-ftp''--enable-sockets''--enable-zip''--enable-shmop''--enable-sysvsem''--enable-sysvshm ''--enable-sysvmsg''--enable-mbstring''--enable-mbregex''--enable-bcmath''--enable-calendar''--with-zlib = / usr / local / opt / zlib''--with-ldap''--with-ldap-sasl = / usr''--with-xmlrpc''--with-kerberos = / usr''--with-gd''-启用- gd-native-ttf''-with-freetype-dir = / usr / local / opt / freetype''--with-icu-dir = / usr / local / opt / icu4c'' --with-jpeg-dir = / usr / local / opt / jpeg''--with-png-dir = / usr / local / opt / libpng''--with-gettext = / usr / local / opt / gettext ''--with-libedit''--with-unixODBC = / usr / local / opt / unixodbc''--with-pdo-odbc = unixODBC,/ usr / local / opt / unixodbc''--mandir = / usr / local / Cellar / php55 / 5.5.18 / share / man''--with-mhash''--with-curl''--with-s nmp = / usr''--with-bz2 = / usr''--disable-debug''--with-openssl = / usr''--with-xsl = / usr''--with-apxs2 = / usr / sbin / apxs''--libexecdir = / usr / local / Cellar / php55 / 5.5.18 / libexec''--with-mysql-sock = / tmp / mysql.sock''--with-mysqli = mysqlnd ''--with-mysql = mysqlnd''--with-pdo-mysql = mysqlnd''--enable-pcntl''--enable-zend-signals''--enable-dtrace''--enable-opcache '

'./configure' '--prefix=/usr/local/Cellar/php55/5.5.18' '--localstatedir=/usr/local/var' '--sysconfdir=/usr/local/etc/php/5.5' '--with-config-file-path=/usr/local/etc/php/5.5' '--with-config-file-scan-dir=/usr/local/etc/php/5.5/conf.d' '--with-iconv-dir=/usr' '--enable-dba' '--with-ndbm=/usr' '--enable-exif' '--enable-intl' '--enable-soap' '--enable-wddx' '--enable-ftp' '--enable-sockets' '--enable-zip' '--enable-shmop' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-mbstring' '--enable-mbregex' '--enable-bcmath' '--enable-calendar' '--with-zlib=/usr/local/opt/zlib' '--with-ldap' '--with-ldap-sasl=/usr' '--with-xmlrpc' '--with-kerberos=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-freetype-dir=/usr/local/opt/freetype' '--with-icu-dir=/usr/local/opt/icu4c' '--with-jpeg-dir=/usr/local/opt/jpeg' '--with-png-dir=/usr/local/opt/libpng' '--with-gettext=/usr/local/opt/gettext' '--with-libedit' '--with-unixODBC=/usr/local/opt/unixodbc' '--with-pdo-odbc=unixODBC,/usr/local/opt/unixodbc' '--mandir=/usr/local/Cellar/php55/5.5.18/share/man' '--with-mhash' '--with-curl' '--with-snmp=/usr' '--with-bz2=/usr' '--disable-debug' '--with-openssl=/usr' '--with-xsl=/usr' '--with-apxs2=/usr/sbin/apxs' '--libexecdir=/usr/local/Cellar/php55/5.5.18/libexec' '--with-mysql-sock=/tmp/mysql.sock' '--with-mysqli=mysqlnd' '--with-mysql=mysqlnd' '--with-pdo-mysql=mysqlnd' '--enable-pcntl' '--enable-zend-signals' '--enable-dtrace' '--enable-opcache'

可能的解决方案

从您的在我的在OSX Yosemite上安装完整PHP的说明上进行评论,我知道您已经使用Homebrew软件包管理器安装了PHP。因此,您可能想尝试使用此方法来解决您的问题:

From your comment on my instructions to install a full PHP on OSX Yosemite I know that you have installed PHP using the Homebrew package manager. So you might want to try this to solve your problem:

brew install freetype

这篇关于如何正确配置GD对PHP的支持?我在调用imagettfbbox()时遇到错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆