我正在构build一个Drupal站点,它使用apache用户执行各种自动磁盘操作(id = 40)。
问题是这个站点是在一个属于用户ID 10001(即我的主FTP帐户)的子域上设置的,所以文件系统属于那个用户ID。
所以我不断收到这样的错误:
warning: move_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect. The script whose uid is 10001 is not allowed to access /var/www/vhosts/domain.com/httpdocs/sites/default/files/images/user owned by uid 48 in /var/www/vhosts/domain.com/httpdocs/includes/file.inc on line 579.
我已经尝试将httpd.conf中的apache组更改为apache:psacln,psacln是所有web用户的默认组,但这没有帮助。
现在的情况是:
显然,uid 40和10001都有权写入涉及的3个目录中的任何一个,但仍然不能。
我在这里错过了什么? 谁能帮忙?
编辑
解决的办法是简单地将域/子域设置为在CGI模式下使用apache,而不是直接出箱模式。
谢谢!
你使用什么版本的Plesk? 也许你可以改变站点来使用PHP-CGI作为站点,所以任何PHP脚本都将作为FTP用户运行。 然后,确保httpdocs层次结构中的所有文件都由FTP用户拥有。 也许这会帮助?
我也有Drupal的这个问题。
我通过禁用PHP的安全模式解决了这个问题。 这可以通过Plesk来完成,也可以通过编辑您正在运行drupal的域的conf目录中的httpd.include,然后运行apache2ctl优雅来手动完成 。