FTP下载在远程虚拟服务器上失败,但在本地设置上完美运行

时间:2009-09-29 07:11:46

标签: php apache centos

我在PHP5中开发了一个递归FTP下载脚本,允许您使用AJAX请求选择要下载的一些文件和/或目录。服务器接收的POST变量只是一个短管道分隔的字符串,根本不占用任何内存。

脚本本身在我的本地Apache设置上完美运行,并进入每个目录并下载每个文件和文件夹。

在Media Temple下设置的远程虚拟服务器上,脚本在大型结构上失败,我的本地Apache处理得很好。

症状是某些目录被认为是文件,因此脚本不会进入它们并进一步下载。

脚本通过尝试远程打开路径来检查路径是否是目录。如果它可以打开目录,它会递归地下载它中的所有内容,直到它完成。

Media Temple上托管的php.ini的阈值比我本地设置的阈值高得多(更长的执行时间,更高的内存限制等),所以这不是问题...我甚至尝试过使用我在远程服务器上的本地php.ini。

告诉错误日志用于获取我的“过早结束脚本标题,PHP”,直到我从常规主机切换到专用虚拟服务器。现在它根本没有反应。

我试图解决这个问题的是在php.ini中尝试不同的值,最近我为每个创建的新文件和目录做了一个flush()和ob_flush()...停止出现“过早结束脚本标题,PHP”。

你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

也许这是一个访问问题:你在Linux上运行吗? VM与您的开发箱相同吗? 运行apache的用户是否有足够的权限来读取目录?

答案 1 :(得分:0)

基本上我不知道你的代码是怎样的,但那部分here(来自php.net maillinglist)在我的服务器上工作正常。 也许您可以举例说明您的代码吗?