Coldfusion Application.cfc在子目录中扩展cfc,而不访问CF admin或webroot子目录

Coldfusion Application.cfc在子目录中扩展cfc,而不访问CF admin或webroot子目录,coldfusion,taffy,Coldfusion,Taffy,我在一个共享linux服务器上,我只能访问映射到~/public\u html的内容 在这种情况下,我想使用Taffy框架来实现ColdFusion。据我所知,要使用框架,必须有一个Application.cfc扩展Taffy框架组件Taffy.core.api 我唯一可以访问的目录不是web根目录的子目录,因此据我所知,不是ColdFusion路径的子集 在我的特殊情况下,我既没有访问CFADMIN的权限,服务器管理员也不会安装我需要在系统范围内扩展的组件,因为它已经在路径上,并且可以通过全局

我在一个共享linux服务器上,我只能访问映射到~/public\u html的内容

在这种情况下,我想使用Taffy框架来实现ColdFusion。据我所知,要使用框架,必须有一个Application.cfc扩展Taffy框架组件Taffy.core.api

我唯一可以访问的目录不是web根目录的子目录,因此据我所知,不是ColdFusion路径的子集

在我的特殊情况下,我既没有访问CFADMIN的权限,服务器管理员也不会安装我需要在系统范围内扩展的组件,因为它已经在路径上,并且可以通过全局点表示法访问

说明中说,您应该将taffy文件夹解压缩到web根目录中,如果您做不到,则应将其作为api的子文件夹。前者对我来说是不可能的,当我使用后者时,我找不到ColdFusion组件或接口taffy.core.api

更多详情: 我的api在http://domain.com/~username/api/,所以我将/taffy解压缩到~/public\u html/api/。如果我将Taffy/examples/api中的Taffy示例复制到~/public\u html/api,那么http://domain.com/~username/api/应该访问该示例,我找不到ColdFusion组件或接口taffy.core.api,即使该目录下有taffy/core/api.cfc ~/public\u html/api

在这台服务器上,我已成功地使用和在另一个目录中扩展cfc

我还成功地制作了一个Application.cfc,它扩展了同一目录中的cfc

我只是没有成功地制作一个Application.cfc,它可以在另一个目录中扩展cfc,即使它是一个子目录

我曾尝试使用grep&相关工具从taffy的源代码中删除taffy.core的所有引用,这样我就可以将所有taffy cfc与Application.cfc一起转储到我的根目录中,这样我就可以扩展api.cfc了,但我遇到了不同的错误,并且没有进一步采用这种黑客解决方案

输出/var/www/html/mapping

~/public\u html/api/resources/successscollection.cfc:

产量http://domain.com/~uname/api/index.cfm/successfusion/:找不到ColdFusion组件或接口taffy.core.api

将此添加到my Application.cfc无法解决此问题:

<cfcomponent extends="taffy.core.api">
        <cfscript>
                this.name = hash(getCurrentTemplatePath());
                this.mappings = StructNew();
                this.mappings['/taffy'] =
                expandPath('./taffy');
查看下面的命令序列,如果我忽略了什么,请告诉我。在浏览到时,我仍然无法找到ColdFusion组件或接口taffy.core.apihttp://domain/~uname/api

[uname@domain ~]$ cd ~/public_html

[uname@domain ~/public_html]$ rm -rf api

[uname@domain ~/public_html/api]$ wget -O taffy.zip https://github.com/atuttle/Taffy/zipball/master

[uname@domain ~/public_html/api]$ unzip taffy.zip

[uname@domain ~/public_html/api]$ mv atuttle-Taffy-35df54e/ taffy

[uname@domain ~/public_html/api]$ mv taffy/examples/api .

[uname@domain ~/public_html/api]$ mv taffy api/

[uname@domain ~/public_html/api]$ tree -d ~/public_html/api/
~/public_html/api/
|-- resources
`-- taffy
    |-- bonus
    |-- core
    |-- examples
    |   |-- ParentApplication
    |   |   |-- config
    |   |   |-- mixin
 ... etc

[uname@domain ~/public_html/api]$ ls -la ~/public_html/api/
total 8
drwxr-xr-x  4 uname ugroup 1024 Dec  9 11:00 .
drwxr-xr-x 10 uname web     1024 Dec  9 10:57 ..
-rw-r--r--  1 uname ugroup 1188 Dec  9 11:00 Application.cfc
-rw-r--r--  1 uname ugroup  172 Sep 20 13:04 .htaccess
-rw-r--r--  1 uname ugroup  218 Sep 20 13:04 index.cfm
drwxr-xr-x  2 uname ugroup 1024 Sep 20 13:04 resources
drwxr-xr-x  8 uname ugroup 1024 Sep 20 13:04 taffy

[uname@domain ~/public_html/api]$ ls -la ~/public_html/api/taffy/
total 15
drwxr-xr-x  8 uname ugroup 1024 Sep 20 13:04 .
drwxr-xr-x  4 uname ugroup 1024 Dec  9 11:00 ..
drwxr-xr-x  2 uname ugroup   96 Sep 20 13:04 bonus
-rw-r--r--  1 uname ugroup 4096 Sep 20 13:04 build.xml
drwxr-xr-x  2 uname ugroup 1024 Sep 20 13:04 core
drwxr-xr-x 15 uname ugroup 1024 Dec  9 10:57 examples
-rw-r--r--  1 uname ugroup   99 Sep 20 13:04 .gitignore
drwxr-xr-x  2 uname ugroup   96 Sep 20 13:04 lib
-rw-r--r--  1 uname ugroup 1356 Sep 20 13:04 LICENSE.TXT
-rw-r--r--  1 uname ugroup 2490 Sep 20 13:04 ReadMe.md
drwxr-xr-x  3 uname ugroup   96 Sep 20 13:04 snippets
drwxr-xr-x  5 uname ugroup 1024 Sep 20 13:04 tests

[uname@domain ~/public_html/api]$ ls -la ~/public_html/api/taffy/core/
total 72
drwxr-xr-x 2 uname ugroup  1024 Sep 20 13:04 .
drwxr-xr-x 8 uname ugroup  1024 Sep 20 13:04 ..
-rw-r--r-- 1 uname ugroup 42382 Sep 20 13:04 api.cfc
-rw-r--r-- 1 uname ugroup  4574 Sep 20 13:04 baseRepresentation.cfc
-rw-r--r-- 1 uname ugroup  2572 Sep 20 13:04 dashboard.cfm
-rw-r--r-- 1 uname ugroup  1756 Sep 20 13:04 dashboard.css
-rw-r--r-- 1 uname ugroup  4538 Sep 20 13:04 docs.cfm
-rw-r--r-- 1 uname ugroup  3030 Sep 20 13:04 factory.cfc
-rw-r--r-- 1 uname ugroup   179 Sep 20 13:04 genericRepresentation.cfc
-rw-r--r-- 1 uname ugroup  3516 Sep 20 13:04 mocker.cfm
-rw-r--r-- 1 uname ugroup   389 Sep 20 13:04 nativeJsonRepresentation.cfc
-rw-r--r-- 1 uname ugroup  3765 Sep 20 13:04 resource.cfc

你有几个选择

每个应用程序或其他应用程序的映射 由于Taffy是一个开发框架,您的系统管理员/主机可能愿意将其安装在一个中心位置,供所有开发人员使用。他们可以将Taffy文件夹放在web根目录中,或者创建一个服务器级映射,映射到文件夹所在的位置

相对路径 应该可以从相对路径运行Taffy。听起来这是您试图采取的方法,但您可能没有将文件放在正确的位置

为了使用相对路径,您需要类似于以下内容的目录结构:

~uname/api/

~uname/api/taffy/core/api.cfc        <- Framework contents
~uname/api/taffy/core/factory.cfc
~uname/api/taffy/core/dashboard.cfm
~uname/api/taffy/core/...
~uname/api/taffy/...

~uname/api/Application.cfc           <- your api code
~uname/api/index.cfm
~uname/api/resources                 <- where you put your resource CFC's
听起来你好像缺少太妃糖文件夹,或者直接把CFC放在api文件夹中,或者把核心文件夹放在api文件夹中


需要太妃糖文件夹。考虑一下您在应用程序中放置的点表示法路径。cfc的extends属性是一个文件系统路径。因为它是taffy.core.api,所以您的文件系统需要包含taffy/core/api.cfc。

您有几个选项

每个应用程序或其他应用程序的映射 由于Taffy是一个开发框架,您的系统管理员/主机可能愿意将其安装在一个中心位置,供所有开发人员使用。他们可以将Taffy文件夹放在web根目录中,或者创建一个服务器级映射,映射到文件夹所在的位置

相对路径 应该可以从相对路径运行Taffy。听起来这是您试图采取的方法,但您可能没有将文件放在正确的位置

为了使用相对路径,您需要类似于以下内容的目录结构:

~uname/api/

~uname/api/taffy/core/api.cfc        <- Framework contents
~uname/api/taffy/core/factory.cfc
~uname/api/taffy/core/dashboard.cfm
~uname/api/taffy/core/...
~uname/api/taffy/...

~uname/api/Application.cfc           <- your api code
~uname/api/index.cfm
~uname/api/resources                 <- where you put your resource CFC's
听起来你好像缺少太妃糖文件夹,或者直接把CFC放在api文件夹中,或者把核心文件夹放在api文件夹中


需要太妃糖文件夹。考虑一下您在应用程序中放置的点表示法路径。cfc的extends属性是一个文件系统路径。因为它是taffy.core.api,所以您的文件系统需要包含taffy/core/api.cfc。

您是否尝试过使用相对路径代理,正如Ben Nadel在这里解释的那样:

其思想是,您的application.cfc将扩展驻留在同一目录中的本地代理rootProxy.cfc。然后,该代理包括您感兴趣的cfc。因为cfinclude采用相对路径,所以您不必担心全局点notat
离子或映射

您是否尝试过使用相对路径代理,正如Ben Nadel在这里解释的那样:


其思想是,您的application.cfc将扩展驻留在同一目录中的本地代理rootProxy.cfc。然后,该代理包括您感兴趣的cfc。因为cfinclude采用相对路径,所以您不必担心全局点表示法或映射

听起来你需要创建一个映射。由于您在共享主机上,您可能需要在Application.cfc中执行此操作-即,This.Mappings={'/taffy':'/path/to/taffy'}如果我错了,请更正我,但根据一些谷歌搜索,需要在我无权访问的管理面板中检查每个应用程序的设置-我如何知道这是否已启用?执行-这将评估映射点的位置,即工作,或在根目录中查找文件/目录映射,即不工作。如果没有打开,我肯定会要求主机修复它-想不出任何理由他们不会。听起来你需要创建一个映射。由于您在共享主机上,您可能需要在Application.cfc中执行此操作-即,This.Mappings={'/taffy':'/path/to/taffy'}如果我错了,请更正我,但根据一些谷歌搜索,需要在我无权访问的管理面板中检查每个应用程序的设置-我如何知道这是否已启用?执行-这将评估映射点的位置,即工作,或在根目录中查找文件/目录映射,即不工作。如果没有打开,我肯定会请主持人修复它-想不出任何理由他们不会。亚当-谢谢你的回复。我相信我已经按照你的指示设置好了-请看我在帖子中包含的命令序列来演示这一点。还有什么我没想到的吗?既然你在linux上,案例很重要。确保文件夹没有命名为Taffy,它应该是Taffy。如果没有目录结构,很难理解您的命令。你能解释一下~/api是什么吗?它应该与~/public_html/api不同吗?我清理了命令并添加了tree和ls-la的输出~/api是一个错误的复制错误;它应该是~/public\u html/api。我似乎无法完成这项工作,即使我有太妃糖/core/api.cfc在里面~/public\u html/api,即使我有in~/public\u html/api/Application.cfcAdam-谢谢你的回复。我相信我已经按照你的指示设置好了-请看我在帖子中包含的命令序列来演示这一点。还有什么我没想到的吗?既然你在linux上,案例很重要。确保文件夹没有命名为Taffy,它应该是Taffy。如果没有目录结构,很难理解您的命令。你能解释一下~/api是什么吗?它应该与~/public_html/api不同吗?我清理了命令并添加了tree和ls-la的输出~/api是一个错误的复制错误;它应该是~/public\u html/api。我似乎无法完成这项工作,即使我有太妃糖/core/api.cfc在里面~/public\u html/api/api,即使我有in~/public\u html/api/Application.cfc基本上,app/Application.cfc extended TaffyProxy,而api/TaffyProxy.cfc只有一行:基本上,app/Application.cfc extended TaffyProxy,api/TaffyProxy.cfc有一行:
<cfset this.mappings["/taffy"] =
expandPath(getDirectoryFromPath(getCurrentTemplatePath()) & "taffy")>
[uname@domain ~]$ cd ~/public_html

[uname@domain ~/public_html]$ rm -rf api

[uname@domain ~/public_html/api]$ wget -O taffy.zip https://github.com/atuttle/Taffy/zipball/master

[uname@domain ~/public_html/api]$ unzip taffy.zip

[uname@domain ~/public_html/api]$ mv atuttle-Taffy-35df54e/ taffy

[uname@domain ~/public_html/api]$ mv taffy/examples/api .

[uname@domain ~/public_html/api]$ mv taffy api/

[uname@domain ~/public_html/api]$ tree -d ~/public_html/api/
~/public_html/api/
|-- resources
`-- taffy
    |-- bonus
    |-- core
    |-- examples
    |   |-- ParentApplication
    |   |   |-- config
    |   |   |-- mixin
 ... etc

[uname@domain ~/public_html/api]$ ls -la ~/public_html/api/
total 8
drwxr-xr-x  4 uname ugroup 1024 Dec  9 11:00 .
drwxr-xr-x 10 uname web     1024 Dec  9 10:57 ..
-rw-r--r--  1 uname ugroup 1188 Dec  9 11:00 Application.cfc
-rw-r--r--  1 uname ugroup  172 Sep 20 13:04 .htaccess
-rw-r--r--  1 uname ugroup  218 Sep 20 13:04 index.cfm
drwxr-xr-x  2 uname ugroup 1024 Sep 20 13:04 resources
drwxr-xr-x  8 uname ugroup 1024 Sep 20 13:04 taffy

[uname@domain ~/public_html/api]$ ls -la ~/public_html/api/taffy/
total 15
drwxr-xr-x  8 uname ugroup 1024 Sep 20 13:04 .
drwxr-xr-x  4 uname ugroup 1024 Dec  9 11:00 ..
drwxr-xr-x  2 uname ugroup   96 Sep 20 13:04 bonus
-rw-r--r--  1 uname ugroup 4096 Sep 20 13:04 build.xml
drwxr-xr-x  2 uname ugroup 1024 Sep 20 13:04 core
drwxr-xr-x 15 uname ugroup 1024 Dec  9 10:57 examples
-rw-r--r--  1 uname ugroup   99 Sep 20 13:04 .gitignore
drwxr-xr-x  2 uname ugroup   96 Sep 20 13:04 lib
-rw-r--r--  1 uname ugroup 1356 Sep 20 13:04 LICENSE.TXT
-rw-r--r--  1 uname ugroup 2490 Sep 20 13:04 ReadMe.md
drwxr-xr-x  3 uname ugroup   96 Sep 20 13:04 snippets
drwxr-xr-x  5 uname ugroup 1024 Sep 20 13:04 tests

[uname@domain ~/public_html/api]$ ls -la ~/public_html/api/taffy/core/
total 72
drwxr-xr-x 2 uname ugroup  1024 Sep 20 13:04 .
drwxr-xr-x 8 uname ugroup  1024 Sep 20 13:04 ..
-rw-r--r-- 1 uname ugroup 42382 Sep 20 13:04 api.cfc
-rw-r--r-- 1 uname ugroup  4574 Sep 20 13:04 baseRepresentation.cfc
-rw-r--r-- 1 uname ugroup  2572 Sep 20 13:04 dashboard.cfm
-rw-r--r-- 1 uname ugroup  1756 Sep 20 13:04 dashboard.css
-rw-r--r-- 1 uname ugroup  4538 Sep 20 13:04 docs.cfm
-rw-r--r-- 1 uname ugroup  3030 Sep 20 13:04 factory.cfc
-rw-r--r-- 1 uname ugroup   179 Sep 20 13:04 genericRepresentation.cfc
-rw-r--r-- 1 uname ugroup  3516 Sep 20 13:04 mocker.cfm
-rw-r--r-- 1 uname ugroup   389 Sep 20 13:04 nativeJsonRepresentation.cfc
-rw-r--r-- 1 uname ugroup  3765 Sep 20 13:04 resource.cfc
~uname/api/

~uname/api/taffy/core/api.cfc        <- Framework contents
~uname/api/taffy/core/factory.cfc
~uname/api/taffy/core/dashboard.cfm
~uname/api/taffy/core/...
~uname/api/taffy/...

~uname/api/Application.cfc           <- your api code
~uname/api/index.cfm
~uname/api/resources                 <- where you put your resource CFC's