PHP 使用外部磁盘驱动器下载文件
PHP Using external disk drive for download files
我在将外部存储链接到我的 PHP 主目录时遇到问题。
我在 Linux Centos 6 上使用 Litespeed 网络服务器,在我的用户主目录中一切正常。
但我想在我的 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";
}
?>
结果:否
问题出在 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>
我希望这对某人有用:)
我在将外部存储链接到我的 PHP 主目录时遇到问题。
我在 Linux Centos 6 上使用 Litespeed 网络服务器,在我的用户主目录中一切正常。
但我想在我的 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";
}
?>
结果:否
问题出在 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>
我希望这对某人有用:)