[英]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.