"/home/...../public_html/index.php" 的脚本UID小于最小UID。

39
我刚刚把Magento从本地迁移到服务器,但是出现了以下错误,我想知道是否有人能帮我解决:
“/home/.../public_html/index.php”脚本的UID小于min_uid。
我的操作步骤是:先制作一个数据库备份,并将其传输到服务器上;再备份所有Magento文件并将其传输到服务器上并进行扩展;最后更改数据库中的core_config表。
提前感谢您的帮助。

这个错误是从哪里来的?Syslog?SELinux? - hakre
抱歉,我不确定问题是什么,但页面上显示的是suPHP 0.6.1版本。当我访问index.php页面(http://www.magento-domain/index.php)时出现了错误。 - akano1
错误会在页面上显示为带有“警告:”的形式,同时给出一个文件名和错误发生的行号。这是由PHP解释器还是Web服务器提供的错误? - hakre
1
错误是由Web服务器给出的,而不是PHP错误。 - akano1
我在谷歌上搜索,发现因为文件是由root所有,所以会出现这个错误,如果是这种情况,我该怎么办?谢谢。 - akano1
谢谢。当我使用composer命令从我的根帐户安装CakePHP时,出现了这个错误。这些答案解决了这个问题。 - ShawnPConroy
5个回答

46

这看起来像是一个suPHP的问题。

将你的脚本的用户组改为运行你的Web服务器进程的用户。例如,如果你正在使用用户www-data运行Apache,请更改为:

chown www-data:www-data /home/.../public_html/index.php

或者通过以下方式一次更改所有文件:

chown -R www-data:www-data /home/.../public_html/
如果您在更改用户和组后仍然遇到此问题,则您的suPHP可能使用默认的min_uid = 100,但www-data的UID低于此100。
要解决此问题,您可以更改suPHP配置中的min_uid以匹配www-data的UID。
vi /etc/suphp/suphp.conf

min_uid = <UID of www-data>

不要忘记在同一个suphp.conf文件中更改min_gid。我必须修复它才能使其正常工作。 - HZhang
对于通过WinSCP上传的文件,我们不能懒惰地在文件夹上执行chown。我们应该直接对文件进行操作。通过运行命令ls -lah检查chown是否已经生效。 - Aminah Nuraini

19
如果您的脚本被root拥有,您应将所有权改回自己: chown -R user /home/user/public_html 这将把所有包含在 "/home/user/public_html" 和所有子目录中的文件的所有者更改为 "user"。

1
嗨,谢谢回复,但我不认为那是原因,因为我仍然遇到同样的问题。 - akano1

6

我曾经遇到同样的问题,使用登录FTP并使用该站点的cPanel帐户上传文件解决了它。不是root或管理员帐户。您必须使用此帐户创建或编辑您的文件。


谢谢,这解决了我的问题,很有道理,因为如果您以ftp用户身份登录,您不是root用户,suPHP会很高兴。 - Joseph Astrahan

5

我为解决这个问题所做的:

chown -R user:user /home/dibs/public_html

并将php文件修改为chmod 700


使用 chown 命令将文件所有权更改为用户后,问题得到了解决。 - Neel

1
只需要在终端中输入以下命令来禁用apache2中的suPHP模式: sudo a2dismod suphp 如果您想重新启用它,请使用以下命令: sudo a2enmod suphp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接