Mac配置Apache + PHP

一、配置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
Snip20180711_1.png

5、再利用vim命令编辑httpd.conf

sudo vim httpd.conf

6、利用vim命令查找DocumentRoot

/DocumentRoot 回车

7、将默认根路径 DocumentRoot "/Library/WebServer/Documents"#号注释掉;
在注释掉的根路径下面一行增加新的根路径

DocumentRoot "/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文件



测试


Hello World!

放在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文件 ,输入以下内容



测试


Hello World!

用网页打开路径为http://localhost/index.php,显示如下即代表成功

Snip20180711_2.png

额外扩展

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.phpupload.html
    其中upload.php的内容为:

    Snip20180711_3.png

    0) {
          echo "传入参数错误:" . $IOS_forKey["error"] . "
"; } else { echo "文件: " . $IOS_forKey["name"] . "
"; echo "类型: " . $IOS_forKey["type"] . "
"; echo "大小: " . ($IOS_forKey["size"] / 1024) . " Kb
"; echo "临时文件: " . $IOS_forKey["tmp_name"] . "
"; 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内容为:





    
    文件上传测试


文件上传


最终目录文件结构如下:

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

你可能感兴趣的:(Mac配置Apache + PHP)