直接用中文提问,哈。php files权限问题

fabulous

Verified User
Joined
Jul 31, 2006
Messages
35
直接用中文提问,哈。php files权限问题

很多程序生成的文件,在da管理的系统下,它是以apache用户来实现的。

程序生成的文件权限是 apache:apache
而ftp上去的文件权限是 $user:apache

所以用ftp上去的话,就修改不了apache:apache 这种文件的属性。有时甚至删都删不掉。

然后用cmsware(内容管理系统),它自动生成的文件和文件夹权限也是apache:apache,其它一些程序都是。

但是,它生成静态文件的时候,总会有一些错误日志,基本上发布一个文件,就会生成半K的错误日志。

<?php exit('Access Denied!'); ?>
- - - - - - - - - - - - - - - - 2007-04-26 13:12:33- - - - - - - - - - - - - - - -
Exception message: preg_match_all() [<a href='function.preg-match-all'>function.preg-match-all</a>]: Unknown modifier 'P'
Error code: 2
-- Backtrace --
(): Error.handler
/home/wssee/domains/xxx.com/public_html/mycms/include/admin/publishAdmin.class.php(2206): preg_match_all
/home/wssee/domains/xxx.com/public_html/mycms/include/admin/publishAdmin.class.php(2170): publishAdmin.doPregReplace
/home/wssee/domains/xxx.com/public_html/mycms/include/admin/publishAdmin.class.php(1605): publishAdmin.ReplaceKeywords
/home/wssee/domains/xxx.com/public_html/mycms/include/admin/publishAdmin.class.php(1098): publishAdmin.publishMakeHtml
/home/wssee/domains/xxx.com/public_html/mycms/admin/admin_publish.php(1997): publishAdmin.refresh

全是这种错误

有什么办法能解决呢?
改变php运行方式吗?
 
Last edited:
ftp传的文件应该是$user:$user

新版的DA文件管理器里有个"Reset Ownership"可以将apache:apache的文件改回去$user:$user

另外php运行在cgi方式下可以解决这问题
 
哇。多谢楼上两位指望。我也一直怀疑是php运行方式的问题。

恕小弟冒昧,由于也是刚接触da没几天。DA这环境还真不敢乱动。怕又不好使了。
我的是freebsd。da的一些文件在/usr/local/directadmin
build 是在 /usr/local/directadmin/customapache 在这下边。
如何将php改成cgi方式运行呢?
还望兄台指教。
 
ftp传的文件应该是$user:$user

新版的DA文件管理器里有个"Reset Ownership"可以将apache:apache的文件改回去$user:$user

另外php运行在cgi方式下可以解决这问题

如果改成$user:$user 或$user:apache的方式,
那一些程序就写不了文件了。因为它们是以php的运行方式为准。
 
可以參考一下這個, 不過還是 beta:
http://directadmin.com/forum/showthread.php?t=17004

suPHP howto:
http://directadmin.com/forum/showthread.php?t=13953&highlight=suphp

我曾跟據以上 howto 在 CentOS4.4 安裝 PHP5 + suphp, 小心一點問題應該不大

哇。多谢楼上两位指望。我也一直怀疑是php运行方式的问题。

恕小弟冒昧,由于也是刚接触da没几天。DA这环境还真不敢乱动。怕又不好使了。
我的是freebsd。da的一些文件在/usr/local/directadmin
build 是在 /usr/local/directadmin/customapache 在这下边。
如何将php改成cgi方式运行呢?
还望兄台指教。
 
不知道那个beta版的,在我这机器上行不行。
还要设置一下php的编译,加入mysqli支持。
而且,据说在apache下,用cgi方式运行效率还不高。

可是,我一哥们,他没装da,也是bsd,php运行方式一样,web文件属性是www:www啊。

如果都变成www:www也好办了。我记得我重装系统之前,就是这个权限。一直相安无事。
 
Last edited:
修改ownership作用只是用来删除, 如果要继续使用那个文件, 就没有必要修改. 或者改后再chmod 777
 
现在呢,偶就是想知道cgi方式,跟apache方式运行php,那个效率更高一些。
还有就是,怎么样把现在的apache方式换成cgi方式执行。
 
Back
Top