考虑一个普通的 PHP 图片上传功能(不使用 AJAX),偶尔会出现大图片上传失败的问题 - 在一个测试服务器上不太频繁,而在另一台测试服务器上更频繁。假设调试器尚未开始调试问题并且没有文件/文件夹权限问题,如何进行?
我确定我有file_uploads
。我不想只是盲目地设置一些安全值或增加值直到它起作用。基本上,我希望这些值与我关注的模块完全一致。如果这是最好的方法,我已经准备好覆盖我相关模块中的设置。
根据与文件上传相关的设置,这些都是相关/相关的设置 -
* file_uploads
* upload_max_filesize
* max_input_time
* memory_limit
* max_execution_time
*post_max_size
查找相关脚本的参数/值-为了
找出其中哪一个是/其中有多少实际上被我的脚本违反并导致失败,我需要首先为我的脚本找到相应的值。如何为我的脚本找到以下值:- 上传文件总大小
- 输入时间
- 内存使用情况
- 脚本执行时间
- 发布数据大小
哪些工具可以用于相同的目的。使用 PHP 代码,我想,我可以找到一些:
microtime(true)
脚本执行时间 -脚本开始和结束时的差异。- 上传文件的总大小 - Foreach 循环查找属性
$_FILES
的总和['size']
如何找出诸如内存使用、输入时间等的其余部分?
在哪里/如何覆盖
最后,当我找到违规设置时,假设我需要增加/覆盖其中 2 个设置的值。在哪里应用覆盖?memory_limit
我想在 htaccess 或 PHP 脚本中为所有模块设置等是不正确的。相反,仅在相关模块中应用会更好。我对么?要求不高的模块的设置
此外,对于不需要太多资源的其他模块,在仔细研究模块的资源需求后,覆盖设置以减少它们是否好/明智?它会减少不必要的资源消耗吗?如果是这样,那么拥有 2 或 3 个这些设置的组合(取决于项目要求,将它们命名为 normal-script、heavy-file-upload)并调用一个函数来为每个模块加载任何一个组合怎么样?memory_limit 预防措施
关于memory_limit
这里提到的 -设置过高的值可能非常危险,因为如果同时处理多个上传,所有可用内存都将被用完,并且其他消耗大量内存的不相关脚本也可能影响整个服务器。
对此采取什么一般预防措施?
谢谢,
桑迪潘