【自学php】第一天-macbook上配置php
今天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的更多相关文章
- eclipse弃坑记第一篇之在idea上配置Tomcat环境并创建Javaweb项目的详细步骤原创
IntelliJ IDEA是一款功能强大的开发工具,在代码自动提示.重构.J2EE支持.各类版本工具(如git.svn.github).maven等方面都有很好的应用. IntelliJ IDEA有免 ...
- 自学Zabbix3.12.6-动作Action-Escalations配置
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 3.12.6 自学Zabbix3.12.6-动作Action-Escalations配置 1. 概 ...
- macbook上安装虚拟机软件如何操作?
很多用户都不太熟悉苹果系统,用惯了Windows之后再过渡到MacOS难免会有些不习惯.为了使我们又可以用回那些熟悉的Windows应用,比较常见的办法就是安装macbook虚拟机.下面小编就教大家一 ...
- IIS7.5 在已有的WEB网站上配置FTP发布
IIS7.5 有了很多新特性,例如FashCGI,Rewrite 模块的内置,简易的FTP发布等等,但是即使是微软,也没有详细的文档,本文详细的介绍了如何在现有的WEB网站上建立FTP发布. IIS ...
- OpenCV 第一课(安装与配置)
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
- 在Windows 2008/2008 R2 上配置IIS 7.0/7.5 故障转移集群
本文主要是从:http://support.microsoft.com/kb/970759/zh-cn,直接转载,稍作修改裁剪而来,其中红色粗体部分,是我特别要说明的 若要配置 IIS 7.0 和 7 ...
- 在Windows Azure上配置VM主备切换(1)——Linux篇
对任何一个上线系统来说,高可用设计是不可或缺的一个环节,这样才可以确保应用可以持续.稳定的运行,而不是频繁的掉线.停机.高可用设计的核心思路很简单,就是消除一切单点故障,将单点链路或者节点升级为多点. ...
- Linux上配置使用iSCSI详细说明
本文详细介绍iSCSI相关的内容,以及在Linux上如何实现iSCSI. 第1章 iSCSI简介 1.1 scsi和iscsi 传统的SCSI技术是存储设备最基本的标准协议,但通常需要设备互相靠近并用 ...
- Python快速学习01:Eclipse上配置PyDev & 'Hello World !'
前言 系列文章:[传送门] 答应了Vamei,帮他传文章,Python,顺自己学学. 很喜欢这种黏黏的语言 突然发现--我用的GoAgent(谷歌FQ软件),竟然是Python编的. 简介 Pytho ...
随机推荐
- 纯css改变下拉列表select框的默认样式
下列CSS就可以解决,原理是将浏览器默认的下拉框样式清除,然后应用上自己的,再附一张向右对齐小箭头的图片即可. select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下* ...
- js scroll 教程
<html><head><script language=javascript>function s(){var c = window.document.body. ...
- Swift笔记4
字符 var str = " hello world " var kong = "" 或者 var kong = string() //定义一个空的字符 ...
- 【测试技术】ant中的for循环用法
有的时候,我们希望ant中也能类似脚本语言一样进行for循环,以实现一些重复性工作.由于ant核心包并未提供此功能,所以需要下载一个扩展包扔到ant的lib目录下去.详细步骤如下: 1.下载核心包:a ...
- python学习day8
目录 一.异常 二.多线程 三.守护线程与join 四.GIL与多线程锁 五.递归锁与信号量 六.线程间同步与交互 七.多进程 八.进程间通信与数据共享 九.进程池 一.异常 1.异常处理 在编程过程 ...
- android HttpGet 另开线程获取网络数据问题
android跨线程通讯可以使用android.os.Handler-android.os.Message这两类对象完成. public static void getResultForHttpGet ...
- Ruby小例子
1.ruby定义函数与执行函数案例 def fact(n) ) end end print fact() 结果: 24 2.一个小例子 words = [)] print "guess?\n ...
- 反对抄袭 正解spring的@Autowired 不要相信网上的错误版本
首先,最重要的, @Autowired的就是用来来消除 set ,get方法. 有些介绍,如著名的马士兵,说要在set方法上进行注入.我当时就看不明白了,既然只取消了一个GET,这个@Autowire ...
- OC中NSString 的常用方法
NSString *str1 = @"BeiJing"; NSString *str2 = @"beijing"; //全部转为大写 NSLog(@" ...
- 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, ...