如何在cakephp shell中获取绝对路径url
在使用 shell 时,我无法通过 cakephp 获取绝对路径。 Shell 不会像普通 www 文件那样加载所有文件。所以我认为这是一个我需要加载的文件,但我不知道哪个...
我已经做了什么
- 我已经尝试了
echo $this->Html->image($this->Html- >url('/pluginName/image.gif',true));
,通常这会起作用,但这次不行......看起来好像 true 不存在并且设置了相对路径。 - 定义('FULL_BASE_URL','http://domain');这个可以工作,但不可移植,我需要一个可移植的解决方案,因为这个 shell 可能从具有不同图像绝对路径的不同服务器运行(名称相同,但域发生变化。
我需要什么
- 它需要是可移植的。
- 它需要给出给我完整的网址,
- 它必须在 shell 中工作
。
I have trouble getting the absolute path with cakephp while using a shell. Shell do not load all the files like normal www files do. So i think is a file i need to load but i don't know which...
What have i done already
- I have tried
echo $this->Html->image($this->Html->url('/pluginName/image.gif',true));
, normally this would work but not this time... it appears as if the true is not there and a relative path is set. - define('FULL_BASE_URL','http:/domain'); this one works but is not portable, i need a solution that is portable since this shell may run from different servers that have different images absolute path (same name but the domain changes.
What i need
- It needs to be portable.
- It needs to give me the full url.
- It has to work within a shell.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题是运行 shell 时没有 Web 请求。生成的 URL 始终与调用应用程序所使用的 URL 相关。在 shell 上,没有相对的 URL,并且不能有默认 URL,因为可以从任意数量的 URL 调用应用程序。您需要对 URL 进行硬编码,以便在 shell 中可用。
The problem is that there is no web request when running a shell. The generated URLs are always relative to which URL the app was invoked with. On the shell, there is no URL to be relative to, and there can't be a default URL since the app could be invoked from any number of URLs. You'll need to hard-code the URL to be available in the shell.