apache子目录无法访问
1. linux下apache成功启动,主目录文件都可以访问,但是子目录都无法访问,如何解决
权限 通过root用户把目录+子目录的权限付给Apache用户及用户组
默认用户接用户组是daemon
命令如下 chown -R daemon.daemon +文件目录 ,即将你的应用的所有者变成daemon
这样就可以访问你的应用了。
2. linux下apache配置多域名只有一个域名可以子目录访问 增加的域名不能实现子目录访问是什么问题
跟据你所描述的情况看,应该是你的配置文件有些问题,
正常来说都是可访问的,建议你把配置文件test.b.com的那一部分展示一下。
3. windows 下php+apache 只能访问根目录不能访问子目录 求解决
dir($dirname, "hello1");
function dir($dirsrc, $dirto){
if(is_file($dirto)){
echo "目标不是目录不能创建";
return;
}
if(!file_exists($dirto)){
mkdir($dirto);
//echo "创建目录".$dirto."成功!<br>";
}
$dir=opendir($dirsrc);
while($filename=readdir($dir)){
if($filename!="." && $filename!=".."){
$file1=$dirsrc."/".$filename;
$file2=$dirto."/".$filename;
if(is_dir($file1)){
dir($file1, $file2); //递归处理
}else{
($file1, $file2);
}
}
}
closedir($dir);
}
用php遍历文件夹,php并没有提供一个可以读取整个文件夹的函数,必须使用递归函数,上面是一个复制文件夹的例子,你看看,这里面就有遍历
readdir()函数作用取出文件名,每次执行后的,指针会指向下一个文件名
4. linux apache htdocs子目录 访问不了
1.兄弟,你更改httpd.conf中的ServerName为你主机的域名了吗
2.dns能不能正常的解析
3.打开/etc/selinux/config SELINUX=disabled 吗?
如果都可以,就不会有什么问题了
5. apache无法访问网站根目录却能访问二级目录
先从网站上下载APACHE2.2.3 Mysql 5.0.22 PHP 5.2.0
假设:系统盘为 c:/
假设:安装好后目录状态会是这样子:
apache--> C:\Program Files\Apache Software Foundation\Apache2.2
mysql-->C:\Program Files\MySQL\MySQL Server 5.0
php--> c:/php
准备工作:
安装之前需要检查80端口、3306端口是否被其它程序占用,如果有,则需要删除相应的软件
-------------------------------------
第一步安装mysql
解 开压缩包,执行安装文件,大部分只需要按照缺省路径和安装提示进行安装就可以了,需要注意就是不能选择匿名用户,同时需要把mysql的路径加入系统的 Path路径中。安装结束后,需要重新启动计算机。重启计算机后,检查[控制面板]-[管理工具]-[服务],确定里面的mysql服务是否启动,如果没 有,则启动mysql服务。
注意:快捷方式里面的mysql登录端,是直接以root用户登录进去的,提示的密码是root用户的密码。你可以在此root用户的状态下,创建用户的数据库和新的用户。
命令如下:
CREATE DATABASE gc0100; //创建数据库
GRANT ALL PRIVILEGES ON gc0100.* to gc0100@localhost IDENTIFIED BY 'gc0100';//创建本地用户
GRANT ALL PRIVILEGES ON gc0100.* to gc0100@"%" IDENTIFIED BY 'gc0100';//创建远程用户
然后可以在[开始]->[运行],输入cmd
然后执行命令:
mysql –u 用户名 –p 访问的数据库
随后将提示输入相应用户的密码。
-----------------------------------
第二步: 安装apache 并配置支持PHP
双击安装文件apache_2.2.3-win32-x86-no_ssl.msi,按照缺省路径和提示安装就可以了。缺省将安装在C:\Program Files\Apache Software Foundation\Apache2.2下。
还会有输入框,提示输入域名呀管理员信箱,随便填就是了.
+----------------------------------------
| 注: 安装完后会自动安装并启动apache的服务,如在此处出现问题:
|“(OS 10048)通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次:
| make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
| 解决方法: 打开控制面板->服务找到 IIS admin 的服务关闭并禁用
| 然后用CMD进入命令行模式进入你安装apache的目录 /apache2/bin
+----------------------------------------
启动Apache,只需要在Apache的快捷功能中,进行启动就可以了。
随后在IE里面测试apache是否成功,输入
如果出现 It works!则表示apache安装成功。
------------------------------------
PHP的安装
将php-5.2.0-Win32.zip 里内容解压到 c:\php里
找 到 php目录里的 php.ini-dist (似乎这是一个习惯,其实我更喜欢用php.ini-recommended)重命名为 php.ini 并拷到 windows系统目录下(特殊情况:win2k系统目录为c:\winnt, Windows XP 则为 c:\windows目录。再将php目录里的所有动态库(*.dll)拷贝到system32目录下(win2k为c:\winnt\ system32,windows xp则为c:\windows\system32)最后到c:\php\ext下将php_gd2.dll php_mysql.dll这两个文件复制到system32目录下(同上)
---------------------------------
配置apache里的httpd.conf
用notepad打开C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件
找到 AddDefaultCharset ISO-8859-1 将其改为
AddDefaultCharset GB2312(让默认语言编码为简体中文)
找到 DocumentRoot " C:\Program Files\Apache Software Foundation\Apache2.2\htdocs" 将其改为你的WEB目录,
如: DocumentRoot "D:/www"
找到 DirectoryIndex index.html index.html.var 在后面加入index.htm index.php (默认index.php为首页文件)--------------模块化安装PHP-----------------------
找到 #LoadMole ssl_mole moles/mod_ssl.so 这行,在此行后加入一行
LoadMole php5_mole c:/php/php5apache2.dll(**错误**)
修改为:LoadMole php5_mole “c:/php/php5apache2_2.dll”
原因: php5apache2.dll 只支持apache 2.0的版本,不能支持apache 2.2以上版本,因为我们最新的apache的版本是2.2.3
所以必须用新版本的动态库php5apache2_2.dll,不能用老版本的动态库。但是如果你安装的apache是2.0的版本,则只需要使用老版本的动态库就可以了,即php5apache2.dll
其中c:/php/php5apache2.dll(php5apache2_2.dll) 为你php目录中php5apache2.dll(php5apache2_2.dll)所在的位置
再找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行
AddType application/x-httpd-php .php
(其实:上面两行红色的,你可以直接加在httpd.conf文件的最后面也可以的)
------------------------------------------
此时PHP环境基本已经配置成功
在WEB根目录(如我的D:\php\www)里建一个名为test.php (提示:用记事本的朋友,请避免文件为test.php.txt) ,的文件内容如下PHP代码:
<? echo phpinfo(); ?>
重新启动apache服务
用浏览器打开
如果可以看到php配置输出信息就OK了
(如果看到的是下载页面或者<? echo phpinfo(); ?>,请查查你所做的与上面是否有错漏)
---------------------------------------
三、配置php.ini并测试mysql、GD2(php.ini为 c:\windows下的 php.ini)找到
;extension=php_mysql.dll
将';'去掉改为
.extension=php_mysql.dll
找到
;extension=php_gd2.dll 去掉前面的;
以便支持GD库.如
extension=php_gd2.dll
找到
;session.save_path = "/tmp"
将';'去掉.设置你保存session的目录,如
session.save_path = "C:\WINDOWS\Temp";(windows xp)
session.save_path = "C:\winnt\Temp";(Windows 2000)
--------------------------------
重启apache服务
在Web根目录下(如 D:\php\www)建立testdb.php文件内容如下:
PHP代码:
<?php
$link=mysql_connect('localhost','root','123456'); //这里的root和123456是MYSQL的用户和密码,请根据你自己的情况改好
if(!$link) echo "fail";
else echo "success";
mysql_close();
?>
用浏览器打开 如果输出success就OK了
---------------------------------
四、phpmyadmin的安装配置
将phpMyAdmin-2.6.1.zip解压到WEB根目录(d:\php\www\中去),重命名文件夹为phpmyadmin或其它打开phpmyadmin 目录中的 config.inc.php
找到以下这些(以下我已改好):
$cfg['PmaAbsoluteUri'] = ''; //假设是有域名的服务器,可改成域名/phpmyadmin
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'easy; //分别填上你mysql的用户和密码即可
$cfg['Servers'][$i]['auth_type'] = 'http'; // 这里也可以改为cookie
改好了保存,在浏览器打开 输入你的用户名和密码,便可以管理mysql了差不多了,如果你想让你的PHP代码执行得更快,就再装个Zend Optimizer.
可到下载
方法是:下载后双击,选择路径安装.问PHP.INI路径就填 c:/windows
装好重启apache服务.再看 时应该看到会多一些东西
6. php与apache配置出问题了,无法访问。
你apache配置可能不正确```
确保你的配置正确,请做到以下几点```
1.找到httpd.conf文件``它在apache安装目录conf文件的子目录下```
用记事本打开它```查找DocumentRoot "C:/php/Apache2\htdocs "字样,C:/php/Apache2\htdocs 指你的服务器文件路径```确保它是正确的,可以访问你```
2.在httpd.conf文件的最下方加入以下几行:(括号里的东西别加)
LoadMole php5_mole "c:/php/php5apache2_2.dll" (注意这里别弄成php5apache2.dll) ``
AddType application/x-httpd-php .php(注意空格)
PHPIniDir "C:/Windows" (指明php.ini所在目录)
3检测你的PHP5是否安装正确,可以做如下操作
开始-运行-cmd-输入cd \-再用cd \***\找到你php的安装目录
键入"php -v"命令,如果安装正确会有php版本的信息```
好了,我的能力也就这么多了,希望对你有所帮助~o(∩_∩)o...
7. Apache2.4配置虚拟主机后却无法访问虚拟主机根目录下的文件
您好!从配置文件上来看暂无发现问题,这边也在Linux系统下按照您的配置文件测试过没问题。请问您是使用纯Apache 2.4 Windows版本的 还是 用打包的集成软件(XAMPP或者phpstudy之类的)?
请确保您的网站根目录下有对应的默认首页文件,Apache中也设置了DirectoryIndex
或者将<Directory>中的部分改一改:
<Directory "D:\discuz">
Require all granted
</Directory>
因为您上面提到NameVirtualHost和Order Allow,Deny ... Allow from Deny from...这些都是旧版2.2的Apache语法。