环境:FreeBSD + Apache2 + PHP + MySQL我是root用户登录系统的,但PHP没有权限执行mkdir、touch等方法的。请问我该怎么配置环境,谢谢~~(大概知道是apache权限问题,但不懂怎么弄,头一回遇到)

解决方案 »

  1.   

    apache是那个用户启动,就将根目录的权限给那个用户,最笨的方法,网站根目录777
      

  2.   

    没遇到过。把你需要在哪个目录下建立东西的这个文件夹,先用root设置成777呢?
    如想在/var/www/html/tmp/下建立 a文件夹 就把tmp这个目录 chmod -R 777 tmp 试试。
      

  3.   

    看了httpd.confuser = daemon
    group = daemon
    默认的吧,没有改过。我试一下。谢谢。
      

  4.   


    我添加了
    pw useradd -g wheel -n apache.然后
    user = apache
    group = wheel还是不行。改成777这个就不要了。
      

  5.   

    根目录的用户组已经改变成apache的了?或者你 ls -l 你的根目录下呢
      

  6.   

    LZ是以root用户身份直接执行PHP脚本(命令行)
    还是用apache服务器自动(调用)执行PHP的脚本,比如网站页面的显示?这两者的权限是截然不同的。
      

  7.   


    什么用户登录跟你PHP调用mkdir()没有太大的关系。apache以什么用户运行,php就以什么用户来调用mkdir().
      

  8.   

    把你网站所在目录的属主改为daemon,注意子目录也要变
      

  9.   

    这两天还是没解决,目前先改成777暂时用着。to #7:
    这个我也不懂事PHP权限还是Apache权限, 猜测是Apache权限控制的问题吧。我换成另外轻量级得lighttpd做服务,这个可以执行mkdir(filename)、touch()等的方法。
    所有猜测是Apache权限控制配置的问题吧。
      

  10.   

    chown -R user:group path/dir
    把根目录的拥有者设置为apache,之后创建的子目录apache也都会有权限