【发布时间】:2019-03-13 00:06:26
【问题描述】:
我在将外部存储链接到我的 PHP 主目录时遇到问题。
我在 Linux Centos 6 上使用 Litespeed Web 服务器,并且在我的用户主目录中一切正常。
但我想在我的 2 个硬盘驱动器之间创建一个负载平衡器,以便在高峰时段提供更好的服务。
我在 httpd.conf 中使用下面的配置来创建别名,当我尝试像 https://example.com/cdn/file.mp4 这样直接下载文件时,它运行良好
Alias /cdn/ "/cdn/files/"
<Directory "/cdn/files">
Options Indexes MultiViews
AllowOverride All
Require all granted
Allow from all
</Directory>
但是如果我尝试在 php 脚本中使用路径,例如检查 file_exists 似乎我不能。
我在外部目录中设置了我的主用户和组。
有什么想法吗?!
更新 1: 我尝试了从主目录到外部目录的符号链接,但仍然没有结果。
更新 2: 我的简单 php 代码:
<?php
if(file_exists('/cdn/files/file.mp4') || file_exists('/cdn/file.mp4') || file_exists('./cdn/file.mp4') || file_exists('./~cdn/file.mp4')){
echo "yes";
}else{
echo "no";
}
?>
结果:没有
【问题讨论】:
-
您可以通过控制台手动访问这些文件吗?
-
是的,文件是可以访问的,甚至我可以通过链接直接下载它们。
-
对不起,我似乎没有正确阅读。那么请分享你使用它的那段代码。
-
我认为问题不在于函数,因为当我使用具有主主目录路径的函数时,一切都很好。 file_exists('/cdn/files/file.mp4') 或 '/cdn/file.mp4'
-
当您能够访问远程存储的文件时,您的 conf 可能会运行良好。所以我怀疑你的函数调用有问题。
标签: php apache centos external litespeed