美文网首页
Mac配置Apache + PHP

Mac配置Apache + PHP

作者: 巧克力的qiao | 来源:发表于2018-07-11 15:07 被阅读54次

一、配置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"

<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,显示如下即代表成功

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
   <?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>

最终目录文件结构如下:

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

相关文章

网友评论

      本文标题:Mac配置Apache + PHP

      本文链接:https://www.haomeiwen.com/subject/ameqpftx.html