想学习php 在mac下 选了mamp (mamp pro 破解版下载安装、基本设置见参考资料[1])
记录1: 访问权限问题(You don't have permission to access / on this server.)
-
状况
修改根目录, 在根目录下新建一个test.php的文件 访问localhost 出现权限错误 -
问题
Forbidden
You don't have permission to access / on this server.
(最终解决问题的在文章末尾, 以下设置做了都没有效果, 只是想记录下, 以供后续的理解)
最初做的设置如下两图:
General -> Document root 设置 Apache -> Directory index 设置
后来分别设置了读写权限(不知道具体什么影响,随意修改),相关命令chmod/chgrp/id
Permissions Panel 设置 *也可右击 localhost -> Open Permissions Panel
对httpd.conf文件的若干修改:
-
DocumentRoot 相关的两处修改,分别将目录路径改为自定义的路径
DocumentRoot "/Applications/MAMP/htdocs"
<Directory "/Applications/MAMP/htdocs"> -
添加权限? 在如下字段中追加 Allow from all
# First, we configure the "default" to be a very restrictive set of # features. # <Directory /> Options Indexes FollowSymLinks AllowOverride None ... Allow from all </Directory>
-
在如下字段添加 test.php (修改原因: 参考资料[2], 即以下摘抄的这段话)
# # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html index.php test.php ... </IfModule>
以上方法似乎都没有起作用, 再怎么修改这个 httpd.conf 都不起作用
最终笔者问题得以解决的线索(参考资料[2])是:
确保 youRoot 文件夹下有 index.html 文件(或名为 index 而后缀为其他形式(如 .jsp .php 等)的文件) ,因为 Apache 默认以 index.html 为网站首页,如果没有这个文件就会出现上面的403错误。
注:如果你想以其他形式的文件(如:index.jsp或index.php等)作为出现的网页,可将Apache的配置文件中的:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>改为(如你想用index.jsp):
<IfModule dir_module>
DirectoryIndex index.html index.jsp
</IfModule>
其中youRoot指的是要自定义的根目录. 另外如果目录下同时存在 index.html 和 index.php, 会优先显示 index.html...
于是, 最后修改了 test.php 的文件名: index.php... 就可以用了
同样不管如何设置 httpd.conf 或 设置面板上 Apache -> Directory index 好像也不起作用... 这一点需要继续研究下
记录2: 关闭 php 页面输出错误
php 错误输出 关闭 php 错误输出到屏幕 没有 php 错误输出记录3: PHP连接mysql数据库报错:Call to undefined function mysql_connect()
从 PHP5.0 开始不推荐使用 mysql_connect() 函数,php7.0 直接废弃了该函数,替代的函数是:
mysqli_connect();
用法是:
$con=mysqli_connect("localhost","my_user","my_password","my_db");
(以上参考资料[3])
参考资料
[ 1 ] PHP环境搭建-MAMP使用指南
[ 2 ] 问题解决:Apache: You don't have permission to access / on this server
[ 3 ] PHP连接mysql数据库报错:Call to undefined function mysql_connect()
网友评论