如何在服务器上更新/替换php脚本


How to update/replace php script on server

我正在为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