修改服务器文件夹的权限-允许系统创建文件
遇到问题
今天在服务器部署系统的时候,遇到一个问题:
<b>Warning</b>: file_put_contents(/.../.../xin-image-zt/app/1.html): failed to open stream: Permission denied in <b>/var/ftp/local/website/my/works/xin-image-zt/houtai/create_html/create_zt.php</b> on line <b>33</b><br />
原因显而易见,就是没有权限的事。
由于我部署项目的时候,使用的不是root账户,所以才有这个提示。那么该怎么解决呢?
解决问题
我用的是windows系统,使用finallshell用root账户登录服务器。
登录成功后,直接在命令行界面输入:
chmod -R 775 /..中间是一系列路径.../my_folder/
chown -R my_zhanghu:apache /..中间是一系列路径.../my_folder/
执行操作后,如果成功是不会有任何提示的。这样就把my_folder下面的文件夹的权限都修改了。
然后给my_zhanghu赋予了创建修改my_folder文件夹中文件的权限。
chmod -R 775 xxx/
将xxx目录下的文件的权限提升至775
chown -R my_zhanghu:apache xxx/
将xxx目录下的文件的所有者改为vision,所有组改为apache
注意,进入命令行界面后,不需要cd到目标文件夹,因为chown-R后面写了绝对路径,所以就可以省略这一步了。
如果觉得使用root不放心
如果觉得使用root不放心,那么也可以使用sudo语句
sudo chown -R vision:apache xxx/
sudo命令的意思就是说临时给你的账号赋予root权限 但是你需要输入你的账号的登录密码证明是你本人操作
特别注意
比如我昨天已经执行过《二》中的赋予权限的操作了,然后今天我又在my_folder中新建了个文件夹:new_folder,然后我通过PHP在new_folder中创建一个1.html的文件。这时候发现系统又报错了!
问题还是权限的事,新的文件夹要重新赋予权限!新的文件夹要重新赋予权限!新的文件夹要重新赋予权限!
解决办法
解决办法就是再执行一遍《二》的操作就行了!