我正在使用PHP S3 class和此backup script来备份从Linux服务器到S3的~500Mb文件。对s3的调用被卡住(永不返回),top显示httpd进程,它消耗100%的CPU和1%的内存。较小的文件会被正确复制。
我的问题是,如果没有返回任何内容并且代码无限期地被卡住,我该如何调试它(它基本上是由S3类完成的CURL调用)。
另外,非常感谢任何关于如何解决这个问题的想法。
到目前为止我尝试过的事情 - 没有超时的PHP脚本。从调用S3中删除了SSL支持,为脚本启用了128M内存。
答案 0 :(得分:2)
您可能需要直接更改S3脚本以找出失败的步骤,并可能从this page设置一些额外的curl选项。一些可能的设置是:
最后两个一起工作以指定何时放弃curl请求,第一个是在进行初始连接时。
对于curl本身的调试输出,您可以设置CURLOPT_VERBOSE并将文件分配给CURLOPT_STDERR以捕获输出。这应该有助于追踪问题所在。