如何解决opencart的Linux权限问题

Yan*_*ian 7 php opencart

我曾使用subversion来恢复我的PHP Opencart项目,但我得到了一个权限问题(示例如下所示:

警告:imagejpeg():无法打开'/var/www/html/opencart/image/cache/data/pavblog/img-blog-620x300w.jpg'进行写入:/ var/www/html/opencart /中的权限被拒绝第45行的system/library/image.php

警告:imagejpeg():无法打开'/var/www/html/opencart/image/cache/data/pavblog/img-blog-250x250w.jpg'进行写入:/ var/www/html/opencart /中的权限被拒绝第45行的system/library/image.php

警告:imagejpeg():无法打开...

我执行了以下命令来添加这些文件夹的权限,但我仍然在我的网站上收到警告消息.

sudo chmod 777 /var/www/html/opencart
cd /var/www/html/opencart 
sudo chmod 777 image/ 
sudo chmod 777 image/cache/ 
sudo chmod 777 image/data/ 
sudo chmod 777 system/cache/ 
sudo chmod 777 system/logs/ 
sudo chmod 777 download/ 
sudo chmod 777 config.php
sudo chmod 777 admin/config.php
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Chr*_*nce 9

要修复权限,您需要执行两个不同的步骤:

  1. 授予适当实体的许可.因为你在/ var/www/html,我的猜测是正确的用户是"apache".

    # Grants permissions to apache
    sudo chown apache:apache -R /var/www/html/opencart
    
    # If that doesn't work, perhaps try www-data
    sudo chown www-data:www-data -R /var/www/html/opencart
    
    Run Code Online (Sandbox Code Playgroud)
  2. 正确设置文件和文件夹的权限(文件具有执行权限可能会很危险)

    # Sets directory permissions to 755 (rwxr-xr-x)
    sudo find /var/www/html/opencart -type d -exec chmod 755 {} \;
    
    # Sets file permissions to 644 (rw-r--r--)
    sudo find /var/www/html/opencart -type f -exec chmod 644 {} \;
    
    Run Code Online (Sandbox Code Playgroud)


rjd*_*own 3

您需要递归地应用权限。尝试

sudo chmod -R 777 image/cache/

  • 同意,在我看来,777 永远不应该被使用,只是按照你的例子。首先尝试 644,如果不行的话再尝试 755。(在不知道完整设置的情况下很难说出您需要什么) (2认同)