我们有一个很大的项目即将推出,有很多媒体处理(图像,视频)以及电子邮件输出等,通常我们将这些东西放入一个名为"email_queue"的表中,我们使用cron来运行脚本处理表中的队列.
我已经在像Beanstalkd这样的Message Queue系统上阅读了很多内容,甚至还设置了它.这很容易使用,问题是我不确定我是否遗漏了一些东西.
有人可以详细说明使用队列系统而不是表和CRON的好处吗?因为我真的看不到它们是什么.
谢谢
我有一个非常基本的上传脚本,可能直接从php.net/move_upload_files功能页面解除.
move_uploaded_file()失败,因为它无法在tmp文件夹中找到tmp文件.但是我知道它被放在那里,但move_upload_file()在我的脚本中处理它之前就被删除了.我知道它被放在那里,因为当一个大文件被发布到服务器时我可以在那里看到一个文件.
还$_FILES包含我刚刚上传的文件的正确详细信息.
有没有人知道为什么临时文件在我有机会处理之前从/ tmp中删除了?
这是我正在使用的基本代码.
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $upload_file))
{
$result['error'] = 'false';
$result['file_loc'] = $upload_file;
}
else
{
$result['error'] = 'true';
}
Run Code Online (Sandbox Code Playgroud)
输出print_r($_FILES)看起来像
[userfile] => Array
(
[name] => switchsolo.png
[type] => image/png
[tmp_name] => /tmp/phpIyKRl5
[error] => 0
[size] => 6690
)
Run Code Online (Sandbox Code Playgroud)
但/ tmp/phpIyKRl5根本就不存在.