Есть каталог причин, по которым он может не работать - их слишком много, чтобы перечислять здесь. Но причина, по которой я пишу, заключается в том, что вы, похоже, не пытались самостоятельно диагностировать проблему. Может быть, вы не знаете, как.
Ваш первый шаг - убедиться, что ведение журнала работает так, как должно на вашей платформе. Напишите некоторый код с преднамеренными ошибками. Убедитесь, что вы видите эти ошибки в своих журналах (и только в вашем браузере для среды разработки). Если нет, выясните, почему.
Затем попробуйте запустить скрипт изображения - и посмотрите, не выдает ли он какие-либо ошибки.
Еще одно хорошее место для поиска проблем - инструменты для веб-разработчиков. Код состояния -200 должен быть красным, что с вашим кодом что-то не так.
Но вам также нужно научиться защищать код. Ваш код должен обнаруживать проблемы и реагировать на них разумно. Особенно, когда поток выполнения затрагивает вещи вне среды выполнения PHP (например, файлы).
<?php
$file="image/orange.png";
$im = imagecreatefrompng($file);
if ($im===false) {
bailout("failed to read $file as an image");
}
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
$font = 'font/font.ttf';
$string = "test";
if (false===imagettftext($im, 20, 0, 20, 230, $white, $font, $string)) {
bailout("imagettftext fail");
}
header("Content-type: image/png"); // note this moved here
if (false===imagepng($im)) {
bailout("imagepng failed");
}
imagedestroy($im);
exit;
function bailout($msg)
{
header("Content-type: text/html", True, 519); // yes I know its not html
trigger_error($msg); // record specificreason in log
print $msg;
exit;
}
Существует множество других вещей, которые вы можете проверить в своем коде - но они в основном будут перехвачены / сообщены PHP.