[英]PHP Using external disk drive for download files
我将外部存储链接到我的PHP主目录时遇到问题。
我在Linux Centos 6上使用Litespeed Web服务器,并且一切都在我的用户主目录中正常运行。
但是我想在两个硬盘之间创建一个负载平衡器,以在高峰时间提供更好的服务。
我在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:我尝试了从主目录到外部目录的symbolinks,仍然没有结果。
更新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";
}
?>
结果:否
问题出在php.ini open_basedir值中。 我必须在open_basedir值中将完整路径附加到新磁盘。
还要在httpd.conf文件中添加open_basedir值,如下所示:
<Directory "/home/user/public_html">
php_admin_value open_basedir /home/user/public_html/:/cdn/files
</Directory>
<VirtualHost myip:80>
<Directory "/home/user/public_html">
php_admin_value open_basedir /home/user/public_html/:/cdn/files
</Directory>
</VirtualHost>
<VirtualHost myip:443>
<Directory "/home/user/public_html">
php_admin_value open_basedir /home/user/public_html/:/cdn/files
</Directory>
</VirtualHost>
我希望这对某人有用:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.