我在本地主机(MAMP)中使用mkdir($folder_path, 0755)它的工作原理,但移动到VPS后,我使用LAMP失败。
夹
方向path是/var/www/html/assets/images/图像文件夹info:
所有者:根
组:根
八进制:755
文件夹var , www , html , assets都相同
的phpinfo
apache2handler
Apache版本Apache / 2.2.15(CentOS)
服务器pipe理员root @ localhost
用户/组apache(48)/ 48
核心
safe_mode本地值关主值closures
我试图通过下面的函数让用户通过上传文件创build文件夹
$folder_path = '/var/www/html/backstage/assets/images/0'; if ( mkdir($folder_path, 0755) ) { ...move_uploaded_file();}
如何解决?
(我应该改变任何关于Linux使用命令行权限?)任何build议将不胜感激,这是我第一次构build服务器..
您的权限设置不正确。 假设所有/var/www/html被apache使用,你需要修改它,所以它被apache所有。
sudo chown apache:apache -R /var/www/html
这将使HTML文件夹和它下面的所有由Apache和组作为Apache。
此外,我build议花时间阅读所有者/组/其他人及其权限的含义。 由于您对root:root的使用显示缺乏Linux操作系统的核心机制。 这里是一个这样的文章: http : //linuxcommand.org/lts0070.php
你必须检查哪个用户运行Apache。 这不应该是根! 通常它的apache,没有人或万维网数据。 当你知道哪个用户运行apache时,你必须改变这个特定用户可以读取的权限(并且如果需要,执行和/或写入)这些文件。
那么它可能会在你的本地环境中运行