Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: капча не показывает изображение на хостинге
Форумы портала PHP.SU » » Вопросы новичков » капча не показывает изображение на хостинге

Страниц (1): [1]
 

1. Pipka - 11 Июня, 2012 - 18:40:27 - перейти к сообщению
Всем привет дело такое не могу никак вшить свою капчу себе же на сайт, дело в том что в фаил логе он пишет что не может найти фаил с шрифтами я уже всё перепробовал и менял пути по разному и папки меня спец для шрифтов и всё ровно глухо) кто нить знает почему? на локальной машине всё чётко работает)
(Добавление)
капча

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  
  4. $img = imageCreateTrueColor(100,30);
  5.  
  6. $green = imageColorAllocate($img,0,255,0);
  7. $red = imageColorAllocate($img,255,0,0);
  8.  
  9. imageAntiAlias($img,true);
  10.  
  11. $cap = rand(0 , 100);
  12. $cap2 = md5($cap);
  13. $cap2 = substr($cap2, 0 ,5);
  14.  
  15. $_SESSION['str'] = $cap2;
  16.  
  17.  
  18.  
  19.  
  20. $int = 5;
  21.  
  22. $x = 2;
  23. $y = 17;
  24. $deltaX = 15;
  25.  
  26.  
  27.  
  28. for ($i=0; $i < 5; $i++){
  29.  
  30. $ugol_1 = rand(0 ,40);
  31.  
  32. $size =  rand(12 ,18);
  33.  
  34. $ugol = $size - $ugol_1;
  35.  
  36. imageTTFText($img, $size, $ugol, $x, $y, $green, "/home/my_login/public_html/capcha/aria.ttf" ,$cap2{$i});
  37.  
  38. $x += $deltaX;
  39.  
  40. }
  41.  
  42. imagepng($img);
  43.  


вывод капчи(пробовал по разному)

PHP:
скопировать код в буфер обмена
  1. <img src='/home/my_login/public_html/capcha/capcha2.php'>


вот что в логах от хостинга)

[11-Jun-2012 17:25:36] PHP Warning: imagettftext() [<a href='function.imagettftext'>function.imagettftext</a>]: Could not find/open font in /home/my_login/public_html/capch a/capcha2.php on line 35

я так понимаю он не находит шрифты) но шрифты лежа в папке capcha путь до туда меня сто раз и так и сяк и всё ровно не хочет выводить)
2. sKaa - 11 Июня, 2012 - 19:46:24 - перейти к сообщению
Pipka, прикинь, такая фигня (сам как-то давно мучался), что он не открывает некоторые шрифты. К сожалению о критериях которыми должны обладать те шрифты, что функция может открыть я всё уже давно напрочь позабыл Недовольство, огорчение
(Добавление)
Кстати, есть один способ узнать всё это, к счастью задача очень простая : необходимо всего навсего прочесть офф маны по данной функции, они как мне кажется должны в некотором роде пролить свет на эту проблему.
3. Pipka - 11 Июня, 2012 - 20:48:10 - перейти к сообщению
мануалы посмотрю щас ещё есть варианты?
(Добавление)
просто интересно как же так..... на локальной машине всё работает а на хостинге нет странно как то)
4. sKaa - 11 Июня, 2012 - 21:04:20 - перейти к сообщению
Pipka, если локалка была под виндой, а хостинг перекачивал на линуксы думаю стоит проверить регистр имени файла, возможно если вы где-то перепутали большие и маленькие буквы указывая функции путь и имя файла под nix работать нихера не будет )) ))
5. Pipka - 11 Июня, 2012 - 21:48:30 - перейти к сообщению
всё проверил всё чётко))) странно как то =(
6. Viper - 12 Июня, 2012 - 08:55:45 - перейти к сообщению
права на файл в порядке?
имя шрифта точно aria.ttf а не arial.ttf ?
7. Pipka - 12 Июня, 2012 - 15:10:22 - перейти к сообщению
всё точно проверял)) а вот с правами может и нет какие права должны быть?
8. Viper - 12 Июня, 2012 - 16:32:14 - перейти к сообщению
Pipka пишет:
какие права должны быть
644 на файл поставьте + владелец должен быть в той же группе что и юзер апача.

Т.е. если у вас апач запускается от www-data:vhosts (юзер:группа) соответственно и владелец файла должен быть этот же.

CODE (htmlphp):
скопировать код в буфер обмена
  1. chown www-data:vhosts /home/my_login/public_html/capcha/aria.ttf
  2. chmod 644 /home/my_login/public_html/capcha/aria.ttf


Также убедитесь что шрифт лежит в папке доступной серверу апача(в никсах обычно /var/www/...).

 

Powered by ExBB FM 1.0 RC1