我需要从 Apache Web 服务器提供大文件(> 2gb)。这些文件是受保护的下载,所以我需要某种方式来授权用户。我使用的 CMS 使用针对 MySQL 数据库检查的 cookie 来验证用户。在服务器上,我无法控制 max_execution_time,并且对 memory_limit 的控制有限。
我的技术一直适用于小文件。用户在 PHP 中(由 CMS)获得授权后,我使用 readfile() 来提供文件,该文件存储在文档根目录之上以防止直接访问。我已经阅读了有关分块下载或使用 fpassthru 绕过 PHP 内存限制的技术。但我还没有找到绕过 max_execution_time 限制的技术。
我考虑将文件存储在文档根目录中,这样我们就可以完全绕过 PHP。但我不知道如何使用 htaccess 限制访问。在为他们提供文件之前,我需要根据数据库验证用户。
谢谢。