DocumentRoot must be a directory 的解决办法

http://blog.sina.com.cn/s/blog_4ab645500100txlj.html

今天在修改了一下httpd.conf文件的DocumentRoot目录后重启了httpd服务,却发现报错了。 DocumentRoot must be a directory 。刚开始以为是自己配置有问题,后来检查了好一遍并确认配置的DocumentRoot就是一个directory啊。哎,只好baidu一下了。呵呵,看来遇到过这种报错的人还真不少啊。总结起来有两种可能导致了DocumentRoot must be a directory报错。

1、DocumentRoot的目录配置中带有中文

如果你的DocumentRoot目录设置中有中文的话,请先修改成英文的试试吧。哈哈……如果还不行的话就请接着往下看吧。

2、SELinux的安全策略搞得鬼啊

这是因为系统启用了SELinux安全策略之后会把目录或文件设成各种类型, 如home_root_t和user_home_t类型等。因些apache的进程就没有权限而无法访问你刚才设置的DocumentRoot了。针对 Apache的进程SELinux的安全策略规定只能访问 httpd_sys_content_t类型的目录或文件。所以把目录或文件的策略类型改成httpd_sys_content_t就可以了。修改命令如下:

chcon ---t httpd_sys_content_t /data/coderbolg/

可以用  ls -laZ 来查看目录的策略类型是否修改成功。做好了这一步如果还报错,呵呵……那还得往下看。

3、禁用SELinux

如果你真的被SELinux折磨的没有办法了。那就直接禁用SELinux吧。系统的不安全总比服务器不能访问的权重要低些吧。直接编辑SELinux的配置文件。

vim /etc/sysconfig/selinux

把SELINUX的值从enforcing改成disabled就行。存盘退出。这回一定可以了,如果还不可以就重启一下服务器吧。

 

PHPStudy是一款在Windows系统上搭建运行PHP开发环境的软件,而Apache则是PHPStudy中默认的Web服务器。当Apache处于红灯状态时,说明Apache未正常启动或者出现了一些错误。解决这个问题的办法如下: 1. 检查端口冲突:打开PHPStudy,点击左上角的设置按钮,选择“环境设置”,然后点击“默认设置”。确保Apache所使用的默认端口(一般是80端口)没有被其他程序占用。如果被占用,可以修改Apache的端口号或者关闭占用该端口的程序。 2. 检查Apache配置文件:点击软件主界面的“Apache”选项卡,选择“httpd.conf”文件进行编辑。检查文件中是否存在错误配置或者缺少必要的配置。特别是检查DocumentRoot(网站根目录)和Directory(目录)等设置是否正确。 3. 检查权限设置:确保Apache所使用的目录和文件都具有读写权限。右键点击PHPStudy的安装目录,选择“属性”,进入“安全”选项卡,检查用户组权限是否正确设置。同时,检查Apache的日志文件(一般在logs文件夹下)是否有写入权限。 4. 重启Apache服务:在PHPStudy主界面点击“Apache”选项卡,选择“启动”按钮重启Apache服务。如果还是无法正常启动,尝试点击“重置”按钮,然后重新启动。 5. 卸载并重新安装PHPStudy:如果以上方法都无效,可以尝试卸载并重新安装PHPStudy。确保安装过程中不要修改默认选项,然后重启电脑。 总结:上述方法是解决PHPStudy中Apache红灯问题的常见方法。根据具体情况,可能还需要根据错误提示信息进行进一步的排查和解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值