我在云服务器上安装了PHP脚本应用程序。 其中一个功能是" PDF预览",目前无法正常工作。
我联系了PHP脚本所有者,他让我确认: 1. dompdf / lib / font /文件夹具有写权限(777) 2.文件夹的所有者是Apache用户(主要是www-data)
对于第一个,我尝试直接在FileZilla界面中更改目录权限。但是在刷新后它总是变回775 ......
对于第二个,我不知道这意味着什么......我联系了我的云服务器服务的技术支持。他说这是与App有关的问题,而不是服务器。
反正可以给我一些方向吗?我应该使用SSH吗?或其他什么?
真的很感谢你的帮助......
埃林
答案 0 :(得分:0)
如果您有SSH访问权限,则更容易。
1)SSH和CD进入您的网站目录(可能是public_html)
2)运行命令chmod -R 777 dompdf/lib/font/
但是755的许可很可能......
3)运行ls -l
。它可能看起来像这样:
-rw-r - r-- 1 erin erin 395 Aug 21 2013 index.php
第一个'erin'是用户,第二个'erin'是组。 可能有其他文件具有正确的组(例如www或apache)。尝试匹配public_html目录中的其他文件:
要更改所有者:chown apache dompdf/lib/font/
要更改群组:chgrp apache dompdf/lib/font/
如果您使用的是共享主机,则可能无法执行此操作。我猜它更可能是一个路径或配置问题,而不是权限问题,但请试一试。
答案 1 :(得分:0)
据我所知,您无法通过FTP更改文件/目录的所有者。你可以通过SSH。 更改文件权限的命令: chmod 777 filename.php 要更改目录的权限:
chmod -R 777 dirname/
更改文件的所有者:
chown www-data filename.php
更改目录的所有者:
chown -R www-data dirname/
要更改文件组:
chgrp www-data filename.php
更改目录组:
chgrp -R www-data dirname/
使用上述命令更改文件权限和所有权时,请确保您位于文件目录中。否则你将不得不更新路径。
如果要更新目录,请确保位于要更新的目录之上。
希望这有帮助。
P上。 S.要查看文件或目录的当前权限/所有者/组,请使用ls -la
命令。
答案 2 :(得分:0)
不要将数据库用户用作UNIX用户。使用www-data。
sudo chown -R www-data:www-data /var/www
数据库用户和Apache用户之间存在差异。 Apache用户是唯一可以实际读取文件的用户。数据库用户仅用于提供/获取数据库读/写权限。
此外,请保留webapp安装的默认权限。除了拥有用户/组外,不要更改它们。如果您受到webapp的指示,请更改权限。
如果您更关心安全性,可以改为运行以下命令:
sudo chown -R $USER:www-data /var/www
sudo chmod -R 640 /var/www
这使得您的用户拥有实际文件,因此只有您(和root)才能修改它们。引用www-data的原因是Apache仍然可以读取文件,但实际上并没有写入它们。
640允许您(文件所有者)进行读写,同时允许www-data组读取文件。它还阻止其他任何人阅读文件内容。
(以上只是一种可能的(未经测试的)方法。有更好的方法here。)