将外部存储链接到我的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: 我尝试了从主目录到外部目录的Symbolink,但仍然没有结果。
更新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";
}
?>
结果:否
答案 0 :(得分:0)
问题出在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>
我希望这对某人有用:)