【发布时间】:2018-06-01 08:06:32
【问题描述】:
我正在尝试在我的服务器 (Debian 4.9.88-1+deb9u1) 上的 PHP 7.2.5 上使用 GD 绘制一个简单的图像。
我的源代码看起来很简单:
<?php
error_reporting(E_ALL);
header("Content-type: image/png");
$string = $_GET['text'];
$im = imagecreatefromjpeg("test.jpg");
$orange = imagecolorallocate($im, 220, 210, 60);
$px = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>
test.jpg 位于同一文件夹中。
PHP 版本:7.2.5
我在日志文件中看不到任何相关内容。
GD 在服务器上被激活:
结果如下:
【问题讨论】:
-
您的代码在 PHP 7.1.18 上适用于我。尝试使用不同的 JPG 文件。
-
@timclutton 我现在用类似的图片尝试了它 - 没有成功。这可能是一个权利相关的问题吗?还是必须是“JPEG”而不是“JPG”?
-
这将是我的第一个猜测。尝试一个简单的单行脚本,例如:
var_dump(file_get_contents('test.jpg'));并确认您的脚本从文件中读取数据。 -
对于我的
image.jpg它显示bool(false)但对于另一个 jpg 显示内容。但是当我将 777 设置为权限时没有任何变化。 -
没关系...
image.jpg的输出看起来像:link