Графики в Lucee

Я вижу ошибку при использовании CFCHART с Lucee. Тот же код работает в CF. Но в Lucee попробуйте сослаться на файл graph.cfm в папке lucee.

mytestserver.com/lucee/graph.cfm?img=026f01d7b8c85b891a9c35c102623747&type=png 

Нужно ли создавать какие-либо сопоставления? Должно ли это сопоставление быть в администраторе Lucee или в IIS?


person CFML_Developer    schedule 10.04.2019    source источник
comment
Так что же стоит за graph.cfm?   -  person James A Mohler    schedule 10.04.2019
comment
@JamesAMohler Не уверен. Это не файл кода. Так что я думаю, это может быть реализация графа Люси. Собственно, именно это я и пытаюсь понять, что такое graph.cfm.   -  person CFML_Developer    schedule 10.04.2019
comment
Вы уверены, что graph.cfm встроен в Lucee?   -  person James A Mohler    schedule 10.04.2019
comment
Я думаю так. У меня есть идентичный код, работающий на CF2016. Из этой среды нет запросов к lucee/graph.cfm.   -  person CFML_Developer    schedule 11.04.2019
comment
Содержание graph.cfm: <cfcontent file="#GetTempDirectory()#/graph/#listLast(url.img,'/\#server.separator.file#')#" type="image/#url.type#"><cfsetting showdebugoutput="no">   -  person Alex    schedule 11.04.2019
comment
Я предполагаю, что ваш контекст Lucee недоступен. Физический путь будет /lucee/context/graph.cfm. Можете ли вы получить доступ к обычному контексту администрирования веб-сервера Lucee?   -  person Alex    schedule 11.04.2019


Ответы (1)


Короткий ответ: нет, вам не нужно добавлять дополнительное сопоставление ни в IIS, ни в Lucee, ни в Tomcat.

Я слишком долго видел этот вопрос здесь, поэтому я помещаю ответ здесь, чтобы пролить свет на graph.cfm Люси.

Некоторым тегам в CFML необходимо создавать дополнительные файлы изображений, чтобы позже встроить их как встроенный элемент HTML в полностью перерисованный вывод. Примеры создания таких файлов: <cfimage type="captcha" ...> или, как вы уже отметили в своей проблеме, <cfchart>.

Для такой функциональности Lucee необходимо где-то временно создать эти файлы, а также сделать их общедоступными. Чтобы добиться этого для cfimage/cfchart, Lucee создает файлы в папке веб-контекста вашего веб-корня (которая обычно находится по адресу path-to-your-webroot\WEB-INF\lucee\temp\graph ) и встраивает их в строку со ссылкой на graph.cfm. Шаблон graph.cfm просто считывает временный файл из этой папки и доставляет его вашему приложению в режиме реального времени.

Если вы хотите взглянуть на оригинальный graph.cfm Lucees, мы можем заглянуть благодаря OpenSource: источник Lucees graph.cfm на github

Чтобы сделать файлы и шаблон graph.cfm временно общедоступными, которые, кстати, находятся за папкой WEB-INF (которая также скрыта/заблокирована по умолчанию в Tomcat по соображениям безопасности), Lucee ДОЛЖНА иметь виртуальное сопоставление. Но вам не нужно настраивать его, потому что они уже настроены по умолчанию. Вы можете увидеть это на изображении ниже, взятом из раздела Mapping в Lucee Administrator:

введите здесь описание изображения

Поскольку graph.cfm является файлом .cfm, IIS будет перенаправлять запрос напрямую через реализованный коннектор CFML (вероятно, коннектор Boncode) для каждого AJP на Tomcat. Таким образом, вам также не нужно устанавливать какое-либо сопоставление в IIS.

Поскольку вы не предоставили никакой дополнительной информации об ошибке, такой как коды ошибок http или трассировки стека, я понятия не имею, что может быть причиной вашей ошибки. Это также может быть некоторая проблема несовместимости, которую можно решить, если вы отправите ее основной команде Lucee.

Другая возможность заключается в том, что многие руководства по установке советуют вам заблокировать путь /lucee/ с помощью модуля перезаписи URL-адресов IIS, потому что это также путь, за которым сидит администратор Lucee. Если это так, вы можете изменить настройку в IIS Rewrite Rule и адаптировать правило таким образом, чтобы оно не блокировало graph.cfm.

Также важно отметить, что многие из этих cftag реализованы в виде расширений Lucee (файлы .lex). Они не обязательно предварительно поставляются или предварительно устанавливаются в Lucee, но вы можете установить их в Lucee Administrator или получить их с сайта загрузки Lucee и загрузить через своего администратора Lucee в разделе «Расширения».

person AndreasRu    schedule 25.05.2021