mkdir(folder_name) 在 php 中具有 755 权限
我的网络应用程序托管在 /var/www 文件夹中。我正在从 Web 应用程序的 PHP 脚本之一创建一个文件夹。创建的文件夹的默认权限是drwx------
,即700。但我希望该文件夹至少有755的权限。
到目前为止,我尝试过: mkdir($path, 0755)
和 chmod($path, 0755)
PHP 函数,但没有成功。
有人知道如何解决我的问题吗?
预先表示数以百万计的感谢。
I have my web application hosted in /var/www folder. I am creating a folder from one of the PHP scripts of the web application. The default permission of the created folder is drwx------
, i.e. 700. But I want that folder to have at least 755 permission.
Up to now I tried: mkdir($path, 0755)
and chmod($path, 0755)
PHP functions but without any success.
Does anybody know how to solve my problem please?
Millions of thanks beforehand.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过更改 umask ?
看看这里: https://www.php.net/manual/en /function.umask.php
最简单的方法是:
Have you tried changing the umask ?
Have a look here: https://www.php.net/manual/en/function.umask.php
The easiest way it to:
由于您的默认权限为 700,这意味着父目录(您尝试在其中创建文件夹的目录)对于组所有者或其他用户没有 rw 权限。大多数情况下,正在运行的守护进程(httpd)不是父文件夹的所有者,因此无法修改该目录。
简单来说,php 脚本无权修改或添加新目录。您需要将父文件夹的权限至少更改为drwxrw-rw-(或0755)。
使用 ssh、cpanel 或 ftp 客户端来执行此操作。如果您使用 php 脚本执行此操作,您将再次遇到相同的问题,因为父级的父级将再次出现 0700。;)
Since you have default permission of 700, which means the parent directory (the directory in which you are trying to create the folder) do not have rw permission for group owner or other users. Most often the running demon(httpd) is not the owner of the parent folder and hence cannot modify the directory.
In simple terms, the php script do not have access to modify or add new directory. You need to change the permission of the parent folder to at least drwxrw-rw- (or 0755).
Use ssh, cpanel or ftp client to do this. If you do it using php script you will end with the same problem again, as parent of parent will have again 0700. ;)