无法从 /tmp 移动由 Apache 拥有的 php 上传的文件

无法从 /tmp 移动由 Apache 拥有的 php 上传的文件

我正在使用Apache/2.0.52(Red Hat) &php4通过浏览器从本地计算机上传文件。文件到达后/tmp如下所示:

-rw-------  1 apache apache  18668 Jun 27 02:56 phpi8g4LS

我尝试使用move_uploaded_file(/tmp/phpi8g4LS, "/var/www/html/images/phpi8g4LS"),但/tmp文件无法移动。

错误:

move_uploaded_file(): Unable to move '/tmp/phpYYMatI' to '/var/www/html/images/$NewImageName

但是,如果我将其写回,/tmp/它就可以正常工作。

例如

if (file_exists($xyz)) 
{

    echo "The file $xyz exists"; //the file $xyz does indeed exist
    move_uploaded_file($xyz,"/tmp/$xyz"); //success!!
    move_uploaded_file($xyz,"/var/www/html/images/$xyz"); //No good!!

} else {

    echo "The file does not exist!";
}

我可以消除权限问题,我尝试写入的所有目录都归 apache 或 (gasp!) 所有0777。我在其他 Linux 风格的 apache 服务器上经常这样做,没有任何问题...这是怎么回事?我已经为此烦恼了好几天!请帮忙!!

答案1

您可能在 PHP 中打开了安全模式标志,它阻止了您的访问。请在 php.ini 中将其关闭,然后重试。

相关内容