Home >Backend Development >PHP Tutorial >服务器禁用了chmod(),怎么解决
服务器禁用了chmod()函数
上传文件连读的权限都没有
假设不改服务器配置,在程序里,有没有解决的办法
联系服务器管理员,给你的网站程序目录单独设置 相关权限
楼上肯定看得太快了
我想问的是,程序里有没有解决办法
上传文件默认是apache的权限,一般为www-data是拥有者。
查看phpinfo(); 看看disable_functions是否有chmod,如果是就是被屏蔽了。
如果chmod不在disable_functions,则表示没有屏蔽,应该是可以使用的。
www-data上传文件,自己就是拥有者,不可能没有权限的。
起码php是有权限读写的。
www-data上传文件,自己就是拥有者,不可能没有权限的。
起码php是有权限读写的。
拥有者不是可以rw吗?
看看拥有者是什么?
权限最起码设置为多少,浏览器访问时才能正常浏览?
window下测试时上传的图片,放到linux后是 -rw-r--r-- 权限
这种可以正常访问
用 ftp 软件查看并修改 images 目录的权限
用 ftp 软件查看并修改 images 目录的权限
改成 666
改成 666
拥有者是什么?
拥有者是什么?
/** 获取文件或文件夹的拥有者,组用户,及权限 * @param String $filename * @return Array */ function file_attribute($filename){ if(!file_exists($filename)){ return false; } $owner = posix_getpwuid(fileowner($filename)); $group = posix_getpwuid(filegroup($filename)); $perms = substr(sprintf('%o',fileperms($filename)),-4); $ret = array( 'owner' => $owner['name'], 'group' => $group['name'], 'perms' => $perms ); return $ret; }
/** 获取文件或文件夹的拥有者,组用户,及权限 * @param String $filename * @return Array */ function file_attribute($filename){ if(!file_exists($filename)){ return false; } $owner = posix_getpwuid(fileowner($filename)); $group = posix_getpwuid(filegroup($filename)); $perms = substr(sprintf('%o',fileperms($filename)),-4); $ret = array( 'owner' => $owner['name'], 'group' => $group['name'], 'perms' => $perms ); return $ret; }
屏蔽得真多。
??是600?限。都已?可以??文件了。真是怪。
还是没弄好,还是出现Warning: chmod() has been disabled for security reasons in /data/home/qyu1297580001/htdocs/product/admin/func/upload.inc.php on line 66
OK这个求解