|
|
|
| Доброго дня, подскажите пожалуйста, как быть
написал капчу на одном (тестовом) сайте - все работает все круто, перенес на основной - ошибка 500... Удалось вычленить что выдает ошибку
imagettftext($img, 17, $ug, $pos, 25, $color, $font, $text[$i]);
|
сразу скажу, что все переменные есть и они имеют правильные значения
imagestring ($img, 10, $pos, rand(10, 13), $text[$i], $color);
|
работает как обычно, но мне не подходит. | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 10:46)
| | А чем отличается функция imagestring от функции imagettftext? | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 11:08)
| | Это вопрос наводящий я так понимаю? или как?
одна записывает строку произвольным шрифтом, другая ее рисует.
GD и FreeType?
GD - точно есть так как помимо текста там еще и фон создается, а вот FreeType - ну черт его знает? где посмотреть?
phpinfo() ?
В чем еще разница? | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 11:24)
| | Именно так - наводящий. Смотреть нужно в описании функции, и не в phpinfo(), а в руководстве.
FreeType использует другая функция, а какой шрифт использует функция imagettftext можно понять из ее названия.
Зная как использовать этот шрифт, на что в первую очередь нужно обратить внимание при ошибках?
А также найдите в сети список причин по которым может возникать ошибка 500, чтобы не перечислять их здесь.
После чего проанализируйте имеющееся у вас на сервере, найдете причину ошибки. | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 11:33)
| | как использовать этот шрифт?
ну тыкните меня носом пожалуйста...
почему тот же скрипт работает на другом сервере... и как мне тогда его на этом запустить? | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 11:50)
| | А что тыкать, в описании функции описано об особенностях доступа к файлу шрифта. Читали? Проверьте. Все нормально? Если да, значит проверяйте возможные другие причины возникновения ошибки 500.
Гадают только цыганки. Ну кто вам скажет причину, не видя обстановки на сервере? | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 11:58)
| |
if(!file_exists($font)){print'error<br>';}else{print'ok<br>';}
print $font.'<br>';
|
результат
ok
/home/e/eliteeleru/electro/test/public_html/includes/fonts/cro.ttf
|
если указываю просто /includes/fonts/cro.ttf то результат error
что еще можно посмотреть? | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 12:10)
| | Вы выяснили (вроде бы как), что данная ошибка возникает из-за функции imagettftext. Данная функции по большому счету не отличается от функции imagestring. Существенная разница между ними, это использование первой внешнего шрифта, в отличии от первого, который использует встроенный шрифт. В зависимости от версии библиотеки GD есть небольшие отличия к обращению этого внешнего файла. Это вы можете выяснить или нет?
Выяснили, если с путями все нормально, файл шрифта при загрузке не стал битым, проверяйте дальше. Найти сможете описание причин возникновения ошибки 500, или мне найти? | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 12:24)
| | >Вы выяснили (вроде бы как), что данная ошибка возникает из-за функции imagettftext.
весь скрипт остается неизменным, меняется только одна строка
imagestring ($img, 5, $pos, 12,$text[$i], $black);
//imagettftext($img, 17, 0, 20, 25, $color, '/includes/fonts/cro.ttf', '1');
|
в одном случае все работает в другом 500 ошибка, так что да это дело в функции... (если есть другие варианты, то я о них не знаю).
> В зависимости от версии библиотеки GD есть небольшие отличия к обращению этого внешнего файла. Это вы можете выяснить или нет?
сейчас попробую....
>Выяснили, если с путями все нормально, файл шрифта при загрузке не стал битым, проверяйте дальше. Найти сможете описание причин возникновения ошибки 500, или мне найти?
.htaccess
доступность скрипта
права (755 и 644)
везде одно и тоже и все не подходит | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 12:44)
| | В лог файл загляните. | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 12:24)
| | > В зависимости от версии библиотеки GD есть небольшие отличия к обращению этого внешнего файла. Это вы можете выяснить или нет?
похоже, что нет... где это посмотреть в phpinfo()? | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 12:47)
| | В ней.
Все ошибки пишут в лог. Заглядываете в него и смотрите. У вас либо "ковыряется" долго в поисках нужного, либо ваш файл шрифта при заливке на сервер оказался битым, и как следствие очень большое время исполнения скрипта будет, либо ... По лог записям и выясните, на что конкретно жалобы. | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 12:53)
| | тут появляется еще одна проблема, у меня нет логов....
клиентский сайт, доступ есть только ftp, но там нет логов.... | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 13:00)
| | Плохо, значит разбирайтесь по косточкам, что вам еще посоветовать. | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 13:06)
| | посоветуйте где посмотреть в чем отличия путей gdlib | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 13:34)
| | Вы читали о функции? Там ведь не так и много написано:
fontfile
Путь к файлу TrueType шрифта.
В зависимости от версии GD библиотеки если fontfile не начинается с /, то в конец названия файла будет добавлено расширение .ttf, и библиотека будет пытаться найти этот файл по адресу, определенному в настройках библиотеки.
При использовании GD библиотеки версий младше 2.0.18 символ space (пробел), как и точка с запятой, использовался в качестве 'разделителя путей' для различных файлов шрифтов. При исползовании этой возможности будет выдаваться предупреждение: Warning: Could not find/open font. Решением такой проблемы в этих версиях может быть только исключение пробелов из путей файлов.
В большинстве случаев размещение файлов шрифтов в директории скрипта решает подобные проблемы включения файлов.
<?php
// Задание переменной окружения для GD
putenv('GDFONTPATH=' . realpath('.'));
// Имя шрифта для использования (обратите внимание на отсутствие расширения .ttf)
$font = 'SomeFont';
?>
|
Что еще рассказывать? Вы хотя бы вывод предупреждений и ошибок не блокируйте, возможно и это поможет, если нет логов. | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 15:11)
| | да не блокирую я вывод ошибок, но они все равно не выводятся... | |
|
|
|
|
|
|
|
для: darkozoid
(09.09.2013 в 15:22)
| | Значит надо все проанализировать, от вашего скрипта до настроек сервера. А никому из пользователей форума это не доступно.
А без логов работать сложно, это как слепому с тростью по оживленной улице ходить. Надо что-то думать, и чтобы они были. | |
|
|
|
|
|
|
|
для: confirm
(09.09.2013 в 16:07)
| | так, получил доступы к хостингу, а там логи отключены, и то только логи доступов и логи ошибок...
но error_log даже не появился... | |
|
|
|
|
|
|
|
для: darkozoid
(10.09.2013 в 09:53)
| | Ну что, выразить соболезнование?
Кстати, а что вам нужно написать на изображении? | |
|
|
|
|
|
|
|
для: confirm
(10.09.2013 в 10:20)
| | буквы... цифры... капчу одним словом | |
|
|
|