今天MacBook到手了,就正式开始学习php了。先搭个环境,由于MacBook自带了Apache和php所以只要修改下配置启动就可以了。

 1.启用root用户(如果不启用root,下面的命令前都要加sudo,并且每次都要输入密码,比较麻烦)

  sudo -i 和 su都可以切换到root账户,要退回普通账户就执行“exit”即可,sudo -i要退回普通账户执行“logout”也可。(这两个命令具体有啥区别就不知道了。。以后再研究)

2.启用Apache

  在终端里执行apachectl start,这时的根目录是/Libary/WebServer/Documents/,可以在这里放文件测试。

 3.启用php

  打开/etc/apache2/httpd.conf文件,把#loadModule php5_module libexec/apache2/libphp5.so 前面的#去掉。

  然后将/etc/php.ini.default复制为/etc/php.ini。cp /etc/php.ini.default /etc/php.ini

4.测试

  在/Libary/WebServer/Documents/目录下新建个test.php: touch /Libary/WebServer/Documents/test.php。

  test.php 就经典的一句:<?php echo "hello world";?>

  浏览器访问http://localhost/test.php,出现hello world 就大功告成了。

 5.更改根目录

  不习惯在默认目录下开发,就换到的自己的workspace中,这里很重要的一点就是要设置文件夹权限,文件夹需要有执行权限x,我设置了755就可以了。

  mkdir /Users/user/workspace

  chmod 755 /User/user/workspace

  把/etc/apache2/httpd.conf文件里的/Libary/WebServer/Documents/都替换成自己的路径 /User/user/workspace

  重启Apache,apachectl restart,再次访问localhost即显示的是更改后的文件里的内容了。

 再一次大功告成了。

 遇到的问题

  在更改Apache的document-root后,访问localhost一直403,查看error-log后发现错误:Permission denied: access to / denied (filesystem path '/Users/user/workspace') because search permissions are missing on a component of the path,在网上查找后发现是文件夹权限问题,把文件夹权限设置为755后就可以正常访问了。如果文件目录嵌套很深,要从最里面的文件权限开始查看,确定要让文件夹有x权限。

【自学php】第一天-macbook上配置php的更多相关文章

  1. eclipse弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创

    IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示.重构.J2EE支持.各类版本工具(如git.svn.github).maven等方面都有很好的应用. IntelliJ IDEA有免 ...

  2. 自学Zabbix3.12.6-动作Action-Escalations配置

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.6 自学Zabbix3.12.6-动作Action-Escalations配置 1. 概 ...

  3. macbook上安装虚拟机软件如何操作?

    很多用户都不太熟悉苹果系统,用惯了Windows之后再过渡到MacOS难免会有些不习惯.为了使我们又可以用回那些熟悉的Windows应用,比较常见的办法就是安装macbook虚拟机.下面小编就教大家一 ...

  4. IIS7.5 在已有的WEB网站上配置FTP发布

    IIS7.5 有了很多新特性,例如FashCGI,Rewrite 模块的内置,简易的FTP发布等等,但是即使是微软,也没有详细的文档,本文详细的介绍了如何在现有的WEB网站上建立FTP发布. IIS ...

  5. OpenCV 第一课(安装与配置)

    OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...

  6. 在Windows 2008/2008 R2 上配置IIS 7.0/7.5 故障转移集群

    本文主要是从:http://support.microsoft.com/kb/970759/zh-cn,直接转载,稍作修改裁剪而来,其中红色粗体部分,是我特别要说明的 若要配置 IIS 7.0 和 7 ...

  7. 在Windows Azure上配置VM主备切换(1)——Linux篇

    对任何一个上线系统来说,高可用设计是不可或缺的一个环节,这样才可以确保应用可以持续.稳定的运行,而不是频繁的掉线.停机.高可用设计的核心思路很简单,就是消除一切单点故障,将单点链路或者节点升级为多点. ...

  8. Linux上配置使用iSCSI详细说明

    本文详细介绍iSCSI相关的内容,以及在Linux上如何实现iSCSI. 第1章 iSCSI简介 1.1 scsi和iscsi 传统的SCSI技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 ...

  9. Python快速学习01:Eclipse上配置PyDev & 'Hello World !'

    前言 系列文章:[传送门] 答应了Vamei,帮他传文章,Python,顺自己学学. 很喜欢这种黏黏的语言 突然发现--我用的GoAgent(谷歌FQ软件),竟然是Python编的. 简介 Pytho ...

随机推荐

  1. annotation 不给提示

    window---preferences---content assist(java)--添加@

  2. 【Lucene4.8教程之二】索引

    一.基础内容 0.官方文档说明 (1)org.apache.lucene.index provides two primary classes: IndexWriter, which creates ...

  3. JQ----树杈型导航

    简单的做了一个树杈型的导航结构如下所示: 废话不多说,上代码: HTML: <div class="wrapper"> <div class="tabt ...

  4. Laravel Packages 开发

    Packages是向Laravel中添加功能最重要的途径.composer.json中require的都是包.关于包的详细说明请查看 API . 下面一起创建一个简单的Package : 1. 环境配 ...

  5. Azure上如何在Linux下挂载数据磁盘

    [原文首次发表于51cto http://cloudapps.blog.51cto.com/3136598/1653672] 在Azure上创建了虚拟机之后,我们在一些情况下会需要添加更多的数据磁盘来 ...

  6. MFC socket网络通讯核心代码

    服务器: AfxSocketInit();//初始化,必须执行这个函数socket才能正常执行 server.Create(10086); server.Listen(10); while(1) { ...

  7. js跑马灯效果

    function nextPage() {           /*         克隆第一张图片并添加到box后         box前移一张图片的距离动画         动画回调里把box的 ...

  8. 多级列表——ExpandableListView

    ExpandableListView控件提供的是一个多级列表(一般是两级),我们先来看一下效果图,如图4.18所示为头部列表,单击其中的每一项下面会显示第二级列表,如图4.19所示. 从图4.18和图 ...

  9. 【LeetCode练习题】Gas Station

    Gas Station There are N gas stations along a circular route, where the amount of gas at station i is ...

  10. sharepoint 2010 使用自定义列表模版创建列表(2)

    前面用的方法是通过界面上操作,根据自定义模版,创建的列表.sharepoint 2010 使用自定义列表模版创建列表(1) 这里顺便记录多另一种方法,通过程序来创建. ---------------- ...