今天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. 纯css改变下拉列表select框的默认样式

    下列CSS就可以解决,原理是将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可. select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下* ...

  2. js scroll 教程

    <html><head><script language=javascript>function s(){var c = window.document.body. ...

  3. Swift笔记4

    字符 var str = " hello world " var kong = "" 或者 var  kong  = string()   //定义一个空的字符 ...

  4. 【测试技术】ant中的for循环用法

    有的时候,我们希望ant中也能类似脚本语言一样进行for循环,以实现一些重复性工作.由于ant核心包并未提供此功能,所以需要下载一个扩展包扔到ant的lib目录下去.详细步骤如下: 1.下载核心包:a ...

  5. python学习day8

    目录 一.异常 二.多线程 三.守护线程与join 四.GIL与多线程锁 五.递归锁与信号量 六.线程间同步与交互 七.多进程 八.进程间通信与数据共享 九.进程池 一.异常 1.异常处理 在编程过程 ...

  6. android HttpGet 另开线程获取网络数据问题

    android跨线程通讯可以使用android.os.Handler-android.os.Message这两类对象完成. public static void getResultForHttpGet ...

  7. Ruby小例子

    1.ruby定义函数与执行函数案例 def fact(n) ) end end print fact() 结果: 24 2.一个小例子 words = [)] print "guess?\n ...

  8. 反对抄袭 正解spring的@Autowired 不要相信网上的错误版本

    首先,最重要的, @Autowired的就是用来来消除 set ,get方法. 有些介绍,如著名的马士兵,说要在set方法上进行注入.我当时就看不明白了,既然只取消了一个GET,这个@Autowire ...

  9. OC中NSString 的常用方法

    NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@" ...

  10. leetcode_question_102 Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...