【发布时间】:2015-01-30 22:22:39
【问题描述】:
这是我使用 PHP 函数 dirname() 的问题
首先让我解释一下,我正在一个网站上定义一个常量,如下所示:
define('ROOT', dirname(__FILE__));
这在共享主机上运行良好,但我不得不将网站移动到专用服务器上,现在我尝试使用绝对链接调用的一些文件返回 404。当我查看他们使用的路径时,会出现如下内容:
http://myIp/var/www/myWebsite/[...]/image.jpg
发生的情况是,我的“ROOT”常量是“/var/www/myWebsite”,但它不是“替换”我的域,而是添加到它的末尾。这是没有意义的,因为我的 Apache VirtualHost 将所有对“myIp”的请求发送到本地文件夹“/var/www/myWebsite”。
我不知道错误是来自我的 PHP 代码,还是我的 Apache VirtualHost。
感谢您的帮助,我确定这很愚蠢,但我不知道我做错了什么:)
【问题讨论】:
-
你为什么不具体定义
ROOT这个常量呢?从当前工作目录推导出相对网站路径段要复杂一些。 -
是的,我想,我需要的只是一个常量变量,我可以调用它来缩短对图像的调用,虽然这是正确的方法,但由于 dirname() 是将相对路径转换为绝对路径,我可能没有做最干净的事情。
标签: php apache path absolute dirname