解决Ubuntu上的ThinkPHP项目权限不够

Ubuntu上运行ThinkPHP项目权限不够问题

问题简述

最近将原来的ThinkPHP项目移到Ubuntu下开发,因为Ubuntu的权限问题,所以报了如下的错:

报错主要原因是当前用户的权限不能够 mkdir————创建目录。

解决办法一

使用Ubuntu有一段时间了,也遇到了不少权限不够的问题,所以首先想到的就是修改文件的权限。

ThinkPHP在运行项目时,所有新建的文件都会在 runtime/ 目录下,所以修runtime的权限。

可以看到现在runtime的其他人只有读的权限。

1
sudo chmod 777 -R runtime/

给了runtime读,写,运行所有权限。

然后再刷新页面,成功。

解决办法二

第一种方法确实高效很简单迅速,但有时可能会有安全问题,但在中小型项目上基本不会遇到。但还是有追求更好的人,所以在这里给出另一种办法。

项目服务器是Apache,所以我们可以将runtime的所有者改为Apache用户。

查看当前Apache用户

1
ps aux|grep httpd

你将会得到类似上面的信息,当前Apache用户为 daemon

然后更改runtime文件所有者。

1
sudo chown -R daemon runtime/

我的解决办法

由于我们项目中需要保存图片,所以生成文件的位置不止runtime一个文件夹,重新创建了一个 upload/ 目录,所以将 runtime 目录和 upload 目录的权限都改为777。该方法可能还存在弊端,后续在有新的文件创建的时候,还需要改权限。

总结

Ubuntu 上权限可能还会遇到很多问题,善于总结规律,以后才能更好的解决问题。


相关链接http://www.qiusuoweb.com/68.html

坚持原创技术分享,您的支持将鼓励我继续创作!