我需要有关php脚本的帮助。它是一个已在网站中实施的CMS。当您尝试添加新产品IMAGE或尝试编辑当前图像时,我收到以下错误:
致命错误:在第233行的/home/mounts/home/m/mclh/web/admin/library/functions.php中调用未定义的函数imageantialias()
这是我在该领域的代码:
if ($tmpDest['extension'] == "gif" || $tmpDest['extension'] == "jpg")
{
$destFile = substr_replace($destFile, 'jpg', -3);
$dest = imagecreatetruecolor($w, $h);
imageantialias($dest, TRUE);
} elseif ($tmpDest['extension'] == "png") {
$dest = imagecreatetruecolor($w, $h);
imageantialias($dest, TRUE);
} else {
return false;
}
第233行是第5行。
答案 0 :(得分:17)
UPDATE :似乎函数imageantialias()
仅在PHP使用GD编译时才可用,因此不足以通过扩展名包含扩展名文件。
来自PHP manual:
注意:此功能仅适用 如果PHP是用捆绑编译的 GD库的版本。
请检查您的phpinfo()
并查看,如果您在那里找到了标志--with-gd=shared
(或类似的标志,可能只是--with-gd
)。如果找不到,那么必须使用此标志重新编译PHP。
更多细节: 可以通过php.ini包含.dll(Windows)或.so(Unix)文件来加载PHP扩展,也可以使用PHP编译它们。编译声音可怕而且疯狂,但实际上很容易。你需要做的就是(Unix):
第一个答案(结果不正确):
imageantialias()
是PHP GD extension的函数。 GD是否已安装并正确配置?
从您的代码中可以看出GD已安装,因为imagecreatetruecolor()
也是GD功能,似乎有效。这导致您得出的结论是您使用的是4.3.2之前的PHP版本,该版本不支持imageantialias()
。
请查看你的phpinfo(),看看我的结论是否正确。在那里,您将看到您正在使用的PHP版本,您还将看到GD是否已安装且正在运行!
答案 1 :(得分:2)
Here is workaround for your issue 只需下载rpm,从这里提取gd-bundled.so并用它替换原始的gd.so。
答案 2 :(得分:2)
似乎Debian / Ubuntu PHP没有捆绑GD库,这是一些安全原因。你必须重新编译PHP,遵循这个有用的分步指南,使用Debian / Ubuntu:http://www.maxiwebs.co.uk/gd-bundled/compilation.php
打开终端。 输入su成为root用户,并在出现提示时输入root密码。
下载我们安装所需的一些软件包。键入apt-get install build-essential debhelper fakeroot dpkg-dev mysql-server。当MySQL安装要求输入root密码时,请考虑一个,然后保证安全。 将当前目录更改为源目录。 cd / usr / src。
输入apt-get source php5下载PHP 5源代码。 我们还需要PHP 5依赖项。要下载这些,请输入apt-get build-dep php5。
进入下载的PHP目录。 cd php5-XXXX。只需在输入php5-后按下即可完成文件夹名称。
现在我们需要编辑配置文件,将其更改为GD的捆绑版本。输入nano debian / rules。
找到--with-gd = shared,/ usr --enable-gd-native-ttf \的行,并将其更改为--with-gd = shared --enable-gd-native-ttf \ by删除,/ usr。 (按ctrl + w查找内容,如果搜索gd,则接近第二次出现)。要保存文件,我们需要按ctrl + x然后按y然后输入。
现在我们需要编辑MySQL安装文件。输入nano debian / setup-mysql.sh。注意:如果此文件不存在,请不要担心,您可以跳过步骤10和11。
找到行$ mysqld> $ datadir / run.log 2>& 1&并将其更改为$ mysqld --user = root> $ datadir / run.log 2>& 1&通过添加--user = root来实现它。要保存文件,我们需要按ctrl + x然后按y然后输入。
现在我们已经完成了设置,我们现在需要编译它。键入dpkg-buildpackage -rfakeroot,或者如果您使用的是Ubuntu 11.10,则应键入dpkg-buildpackage -d,这需要一些时间。
完成后,您应该在父目录中加载.deb文件。找到以php5-gd开头的那个。
通过双击安装它,或者从终端安装,输入dpkg -i php5-gdXXXXXXX,只需在输入php5-gd后按下即可完成文件名。
现在我们需要通过持有包来阻止更新,使用常规的非捆绑版本替换闪亮的新GD库。运行以下命令:apt-get install wajig。 对安装说“是”。
安装完成后,输入以下内容:wajig hold php5-gd。
恭喜!您现在已经安装了GD库的捆绑版本,现在可以使用它进行创作!
答案 3 :(得分:1)
According to PHP Manual's Changelog for PHP Version 7.2.0:
imageantialias()现已普遍推出。以前它只是 如果使用捆绑版本的GD编译PHP,则可用 库。
所以有一些方法可以解决这个问题。
./configure
标记的--with-gd
脚本编译php。答案 4 :(得分:0)
此功能是GD库的一部分。可能未在PHP环境中安装该库。
有关如何包含GD的详细信息,请访问:http://www.php.net/manual/en/image.installation.php
答案 5 :(得分:-1)
这意味着您要么错误地拼写imageantialias()
函数,要么您没有在代码中定义该函数,或者它所属的第三方代码未包含在您当前的文档中。
<强>更新强> GD已安装。这是一个谜。