一、配置Apache
1、Mac自带Apache, 先启动Apache
sudo apachectl -k start
2、然后进入apache2的目录下
cd /etc/apache2/
3、先将原先的httpd.conf文件拷贝一份以免弄错之后可以复原
sudo cp httpd.conf httpd.conf.bak
4、在用户目录下创建一个名为Sites的文件夹,作为新的根路径
mkdir ~/Sites

5、再利用vim命令编辑httpd.conf
sudo vim httpd.conf
6、利用vim命令查找DocumentRoot
/DocumentRoot 回车
7、将默认根路径 DocumentRoot "/Library/WebServer/Documents"
用#
号注释掉;
在注释掉的根路径下面一行增加新的根路径
DocumentRoot "/Users/qiaoxy/Sites"
将 <Directory "/Library/WebServer/Documents">
用#
号注释掉;
增加新的
<Directory "/Users/qiaoxy/Sites">
⚠️注意: Mac 10.10 的 Apache 增加如下操作!
在 httpd.conf 中找到
"Options FollowSymLinks Multiviews"
加一个单词 Indexes,修改后的结果如下:
"Options Indexes FollowSymLinks Multiviews"
8、重启Apache
sudo apachectl -k restart
9、测试是否成功,写一个index.html文件
<html>
<head>
<title>测试</title>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
放在Sites目录下,然后在网页中输入http://localhost/index.html
,在网页显示Hello World即代表配置成功。
二、配置PHP
1、Mac本身就自带php环境,现在将php可用,还是在http.conf中利用vim命令查找到php
删除LoadModule php7_module libexec/apache2/libphp7.so
前的#
号
2、保存退出
:wq 回车
3、 切换工作目录
cd /etc
4、拷贝php.ini文件
sudo cp /etc/php.ini.default /etc/php.ini
5、重新启动apache服务器
sudo apachectl -k restart
⚠️如果提示以下错误
httpd: Could not reliably determine the server's fully qualified domain name, using qiaoxydeiMac.local. Set the 'ServerName' directive globally to suppress this message
错误解决方法:在etc/httpd.conf文件中,搜索#ServerName,添加ServerName localhost:80
6、如果将错误解决之后,需要再次重启Apache
sudo apachectl -k restart
7、测试是否成功
在Sites目录下创建一个index.php文件 ,输入以下内容
<html>
<head>
<title>测试</title>
</head>
<body>
<h1>Hello World!</h1>
<?php phpinfo(); ?>
</body>
</html>
用网页打开路径为http://localhost/index.php
,显示如下即代表成功

额外扩展
8、如果想要向Sites路径下写入东西,则需要修改Sites目录权限为777(读4,写2,执行1),即所有用户都可读可写。
-
a.进入到用户目录下
cd ~
-
b.执行修改目录权限
chmod 777 Sites
9、测试一下是否可以正常写入
-
a.在Sites下创建一个名为
uploads
文件夹mkdir ~/Sites/uploads
-
b.修改uploads权限
chmod 777 ~/Sites/uploads
-
c.创建3个文件分别为
upload.php
、upload.html
其中upload.php的内容为:Snip20180711_3.png
<?php
header("Content-type: text/html; charset=utf-8");
// 配置文件需要上传到服务器的路径,需要允许所有用户有可写权限,否则无法上传!
$uploadPath = 'uploads/';
$IOS_forKey=$_FILES["uploadFile"];
if ($IOS_forKey["error"] > 0) {
echo "传入参数错误:" . $IOS_forKey["error"] . "<br />";
} else {
echo "文件: " . $IOS_forKey["name"] . "<br />";
echo "类型: " . $IOS_forKey["type"] . "<br />";
echo "大小: " . ($IOS_forKey["size"] / 1024) . " Kb<br />";
echo "临时文件: " . $IOS_forKey["tmp_name"] . "<br />";
chmod($uploadPath . $IOS_forKey["name"], 0666);
if (file_exists($uploadPath . $IOS_forKey["name"])) {
echo $IOS_forKey["name"] . "文件已经存在!";
} else {
move_uploaded_file($IOS_forKey["tmp_name"], $uploadPath . $IOS_forKey["name"]);
echo "上传文件保存在: " . $uploadPath . $IOS_forKey["name"];
}
}
?>
upload.html内容为:
<!DOCTYPE html>
<html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>文件上传测试</title>
</head>
<body>
<h1>文件上传</h1>
<hr />
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="uploadLabel">Filename:</label><input type="file" name="uploadFile" id="uploadLabel" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
最终目录文件结构如下:

- d.在网页中输入路径
http://localhost/upload.html
,选择一张图片上传到~/Sites/uploads下,如果上传成功,则说明配置成功。
Snip20180711_4.png
网友评论