没有正确渲染我的图像
问题描述:
我试图做一个验证码图像渲染随机文本(看看我的$_SESSION["captcha"]
)。没有正确渲染我的图像
它使用WAMP在本地主机上完美工作,但在我的网站上,它只显示透明的64x20图像,没有文字,没有任何内容。
我有一个错误500之前,我安装了php5-gd +重新启动Apache,也许我错过了什么安装?
我无法访问我的(错误)日志。
这里是我的代码:
<?php
session_start();
$_SESSION["captcha"] = mt_rand(100, 999);
$img = imagecreatetruecolor(64, 20);
$font = "Inversionz.otf";
imagealphablending($img, true);
imagesavealpha($img, true);
imagefill($img, 0, 0, 0x7fff0000);
$textcolor = imagecolorallocate($img, 0, 0, 0);
imagettftext($img, 27, 0, 0, 20, $textcolor, $font, $_SESSION["captcha"]);
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);
?>
我的字体(Inversionz.otf)上传。
答
好的,你让我去找那个字体并在本地运行。 :)
我有您在,直到同样的错误......
击鼓声请。
我在路径中添加了./。 $font = "./Inversionz.otf";
+0
Omg大声笑..非常感谢您的时间和你的帮助! –
+0
没问题。很高兴它的工作。 – mkaatman
获取访问这些错误日志,他们会告诉你到底是什么问题。或者,也许你可以设置自己的日志? 'ini_set(“log_errors”,1); ini_set(“error_log”,“/tmp/php-error.log”); error_log(“你好,错误!”);'你已经知道你的代码有效,所以人们不得不大肆猜测它没有错误日志的环境出了什么问题。我的猜测是字体丢失。 – mkaatman
@mkaatman字体不会丢失,正如我所说,我可以通过在我的浏览器中访问它来下载它。我添加了你的代码并没有发生任何事情(没有创建文件夹/没有显示错误)。 –
只是踢,本地主机如果你改变字体名称为无效,行为是否匹配? PHP版本是一样的吗?你可以安装一些东西,但你无法访问日志,这太疯狂了。 – mkaatman