我正在为CMS开发更新功能。但我坚持了下来。场景是用户将能够上传一个zip文件,更新程序脚本将提取该文件并替换旧文件。
我有一个更换的问题,我做了以下
<?php rename($old, $new);
我总是收到"权限被拒绝"
使用ftp_rename
:
<?php
$conn = ftp_connect($host);
ftp_login($conn, 'user', 'pass');
ftp_rename($conn, $src, $dest);
我总是收到
警告:ftp_rename():重命名失败。在…上
有合适的方法吗?谢谢
根据您的linux发行版,php实际上以特定用户的身份执行命令。检查你的apache(或你正在使用的任何服务器)设置,并相应地设置权限
例如,在apache中,它被设置为
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
然后,您可以将上传文件夹更改为www数据所有
有关更多信息,您可以阅读此有用的讨论https://unix.stackexchange.com/questions/30879/what-user-should-apache-and-php-be-running-as-what-permissions-should-var-www